1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- /**
- * Created by chen on 2017/9/4.
- */
- let helper = {};
- module.exports.logger = helper;
- let log4js = require('log4js');
- let fs = require("fs");
- let path = require("path");
- // 加载配置文件
- let objConfig = JSON.parse(fs.readFileSync(__dirname+"/log4js.json", "utf8"));
- // 加载基础配置
- if(objConfig.appenders){
- let baseDir = objConfig["customBaseDir"];
- let defaultAtt = objConfig["customDefaultAtt"];
- for(let key in objConfig.appenders){
- var item = objConfig.appenders[key];
- if(item["type"] == "console")
- continue;
- if(defaultAtt != null){
- for(let att in defaultAtt){
- if(item[att] == null)
- item[att] = defaultAtt[att];
- }
- }
- if(baseDir != null){
- if(item["filename"] == null)
- item["filename"] = baseDir;
- else
- item["filename"] = baseDir + item["filename"];
- }
- }
- }
- log4js.configure(objConfig);
- let logDebug = log4js.getLogger('logDebug');
- let logInfo = log4js.getLogger('logInfo');
- let logWarn = log4js.getLogger('logWarn');
- let logErr = log4js.getLogger('logErr');
- console.log = logInfo.info.bind(logInfo);//把控制台信息输出到文件中
- helper.debug = function(msg){
- if(msg == null)
- msg = "";
- logDebug.debug(msg);
- };
- helper.info = function(msg){
- if(msg == null)
- msg = "";
- logInfo.info(msg);
- };
- helper.warn = function(msg){
- if(msg == null)
- msg = "";
- logWarn.warn(msg);
- };
- helper.err = function(msg, exp){
- if(msg == null)
- msg = "";
- if(exp != null)
- msg += "\r\n" + exp;
- logErr.error(msg);
- };
- // 配合express用的方法
- module.exports.use = function(app) {
- //页面请求日志, level用auto时,默认级别是WARN
- app.use(log4js.connectLogger(logDebug, {level:'debug', format:':method :url'}));
- }
|