1.原因
 
- 使用koa-log4因为本人使用koa来进行开发node项目做后端,所以就也用koa-log4来进行日志的管理。
- 所有console.log都输出到控制台找关键模块的日志输出找起来比较麻烦。
- 控制台关闭了或者清空了想找回之前的日志来定位项目的一些调试或问题就会非常麻烦。
- koa-log4存储日志到指定位置保留日志文件,方便查找定位问题。
2.安装
 
npm install koa-log4
 
3.使用
 
const log4js = require("koa-log4");
log4js.configure({
    appenders:{
        console:{
            type:"console",
            category:"console"
        },
        
        httplog:{
            type:"dateFile",
            filename:"../log/http/all.log",
            pattern:"yyyy-MM-dd.log",
            backups:300,
            layout:{
                type:"pattern",
                pattern:"%d{yyyy-MM-dd hh:mm:ss} [%p] %m"
            }
        },
        
        order:{
            type:"dateFile",
            filename:"../log/order/all.log",
            pattern:"yyyy-MM-dd-hh.log",
            backups:300,
            layout:{
                type:"pattern",
                pattern:"%d{yyyy-MM-dd hh:mm:ss} [%p] %m"
            }
        }
    },
    categories:{
        default:{
            appenders:["console"],
            level:"all"
        },
        httplog:{
            appenders:["httplog"],
            level:"all"
        },
        order:{
            appenders:["order","console"],
            level:"all"
        }
    }
})
const logger = log4js.getLogger("order");
logger.trace("测试trace");
logger.debug("测试debug");
logger.info("测试info");
logger.warn("测试warn");
logger.error("测试error");
logger.fatal("测试fatal");
const httpLogger = ()=> log4js.koaLogger(log4js.getLogger("httplog"));
const koa = require("koa");
const app = new koa();
app.use(httpLogger())