2. log4js的安装和使用
github.com/log4js-node…
- 安装
npm install log4js
- 在utils下创建log2.js文件
const log4js = require('log4js')
const levels = {
'trace':log4js.levels.TRACE,
'debug':log4js.levels.DEBUG,
'info':log4js.levels.INFO,
'warn':log4js.levels.WARN,
'error':log4js.levels.ERROR,
'fatal':log4js.levels.FATAL,
}
log4js.configure({
appenders:{
console:{ type:'console' },
info:{
type: 'file', // 定义可写入all-logs.log文件中info信息
filename: 'logs/all-logs.log'
},
error:{
type: 'dateFile',
filename:'logs/log',
pattern:'yyyy-MM-dd.log',// 定义可写入匹配log.yyyy-MM-dd.log文件中info信息,日期为实时
alwaysIncludePattern:true// 设置文件名称为 filename + pattern
}
},
categories:{
default:{ appenders: [ 'console' ], level: 'debug' },
info:{
appenders: [ 'info','console' ],
level: 'info'
},
error:{
appenders: [ 'error','console' ],
level: 'error'
}
}
})
exports.debug = (content)=>{
let logger = log4js.getLogger();
logger.level = levels.debug;
logger.debug(content);
}
exports.info = (content)=>{
let logger = log4js.getLogger('info');
logger.level = levels.info;
logger.info(content);
}
exports.error = (content)=>{
let logger = log4js.getLogger('error');
logger.level = levels.error;
logger.error(content);
}
- app.js引入
const Koa = require('koa')
const app = new Koa()
const views = require('koa-views')
const json = require('koa-json')
const onerror = require('koa-onerror')
const bodyparser = require('koa-bodyparser')
const logger = require('koa-logger')
const log4js = require('./utils/log4j')
const index = require('./routes/index')
const users = require('./routes/users')
onerror(app)
app.use(bodyparser({
enableTypes: ['json', 'form', 'text']
}))
app.use(json())
app.use(logger())
app.use(require('koa-static')(__dirname + '/public'))
app.use(views(__dirname + '/views', {
extension: 'pug'
}))
app.use(() => {
ctx.body = "此处可以触发报错信息"
})
app.use(async (ctx, next) => {
log4js.info(`get params:${JSON.stringify(ctx.request.query)}`)
log4js.info(`post params:${JSON.stringify(ctx.request.body)}`)
await next()
})
app.use(index.routes(), index.allowedMethods())
app.use(users.routes(), users.allowedMethods())
app.on('error', (err, ctx) => {
log4js.error('报错信息', `${err.stack}`)
});
module.exports = app