https://www.npmjs.com/package/koa-log4
https://github.com/log4js-node/log4js-node
模块安装
$ npm i --save koa-log4
2 创建日志文件夹
const path = require('path');
const appDir = path.resolve(__dirname, '..');
const logDir = path.join(appDir, 'logs');
/**
* make a log directory, just in case it isn't there.
*/
try {
require('fs').mkdirSync(logDir);
} catch (e) {
if (e.code != 'EEXIST') {
console.error('Could not set up log directory, error was: ', e);
process.exit(1)
}
}
const log4js = require('koa-log4');
log4js.configure(path.join(appDir, 'log4js.json'), { cwd: logDir });
const infoLogger = log4js.getLogger('info');
log4js.json
{
"appenders": {
"startupLogs": { "type": "file", "filename": "./logs/startup.log" },
"console": { "type": "console" },
"httpLog":{ "type": "dateFile","filename": "./logs/http.log" },
"appLogs": { "type": "file", "filename": "./logs/app.log" },
"errorLogs": { "type": "file", "filename": "./logs/error.log" }
},
"categories": {
"startup": { "appenders": ["startupLogs"], "level": "info" },
"info": { "appenders": ["console"], "level": "trace" },
"http":{ "appenders": ["httpLog"], "pattern": "-yyyy-MM-dd","level": "info" },
"app": { "appenders": ["appLogs"], "level": "info" },
"error": { "appenders": ["errorLogs"], "level": "error" },
"default": { "appenders": ["console", "startupLogs"], "level": "trace" }
}
}
打印信息
infoLogger.info(`http server listen on port!`)
作为中间件使用
app.use(log4js.koaLogger(log4js.getLogger("http"), { level: 'auto' }))