|
@@ -0,0 +1,80 @@
|
|
|
+/**
|
|
|
+ * 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'}));
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|