nodejs日志管理log4js
常用的2种配置:
1.按文件大小分片,备份若干数量的文件
var log4js = require('log4js'); log4js.configure({ "appenders" : [ {"type" : "console"}, { "type" : "file", "filename" : "logs/app.log", "maxLogSize" : 204800, "backups" : 10, "category" : "app" } ], "replaceConsole": true, "levels" : { "app" : "ALL" } }); var logger = log4js.getLogger('app'); app.use(log4js.connectLogger(logger, {format: ':remote-addr :method :url :status :response-time ms'})
2.按日期分片,此分片方式不可以进行大小和备份数量的限制
var log4js = require('log4js'); log4js.configure({ appenders : [ {type : 'console'}, { type : 'dateFile', filename : 'logs/app', pattern : '-yyyy-MM-dd.log', alwaysIncludePattern : true, category : 'app' } ], replaceConsole: true }); var logger = log4js.getLogger('app'); app.use(log4js.connectLogger(logger, {level: 'ALL', format: ':remote-addr :method :url :status :response-time ms'}));
多类型多应用文件分片配置:
log4js.configure({ "appenders" : [ {"type" : "console"}, { "type" : "file", "filename" : "logs/app1.log", "maxLogSize" : 204800, "backups" : 10, "category" : "app1" }, { "type" : "file", "filename" : "logs/app2.log", "maxLogSize" : 204800, "backups" : 10, "category" : "app2" }, { "type" : "file", "filename" : "logs/app3.log", "maxLogSize" : 204800, "backups" : 10, "category" : "app3" } ], "replaceConsole": true, "levels" : { "app1" : "ALL", //等级可以设置ALL,AUTO,INFO,WARN,ERROR "app2" : "ALL", "app3" : "ALL" } });
模块化:
1.定义配置文件log4js.json
{ "appenders" : [ {"type" : "console"}, { "type" : "dateFile", "filename" : "logs/app", "pattern" : "-yyyy-MM-dd.log", "alwaysIncludePattern" : true, "category" : "app" } ], "replaceConsole": true, "levels" : { "app" : "ALL" } }
2.自定义模块ms.js
/* * log4js */ var log4js = require("log4js"); exports.log4js_config = require("../log4js.json"); log4js.configure(this.log4js_config); exports.logger = log4js.getLogger("app");
3.使用方法
var ms = require("ms"); ms.logger.info("INFO TEST"); ms.logger.warn("WARN TEST"); ms.logger.error("ERROR TEST");