log4js.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. var express = require('express');
  2. var log4js = require('log4js');
  3. var app = express();
  4. console.log("当前环境",process.env.NODE_ENV);
  5. var logLevel = process.env.NODE_ENV === 'development' ? "debug" : "info";
  6. log4js.configure({
  7. appenders: {
  8. console: { type: 'stdout' },
  9. normal: {
  10. type: 'dateFile',
  11. filename: 'logs/application' ,
  12. maxLogSize: 1024*1024*10, //只有type为file时生效
  13. backups: 10,//只有type为file时生效,表示超过10个log文件时,删除旧的,保留最新的10个
  14. pattern: "_yyyy-MM-dd.log",
  15. alwaysIncludePattern: true
  16. },
  17. log_error: {
  18. type: "file",
  19. filename: "logs/error",
  20. maxLogSize: 1024*1024*100, //只有type为file时生效
  21. },
  22. error: {
  23. type: 'logLevelFilter',
  24. level: 'warn',
  25. appender: 'log_error',
  26. }
  27. },
  28. categories: {
  29. default: { appenders: ['console', 'normal', 'error'], level: logLevel },
  30. },
  31. replaceConsole: true,
  32. pm2: process.env.NODE_ENV === 'production', // 正式环境
  33. pm2InstanceVar: 'INSTANCE_ID'
  34. });
  35. exports.logger=function(name){
  36. var logger = log4js.getLogger(name);
  37. return logger;
  38. }
  39. //解决replaceConsole配置还是无效的方案,将console.log()一并打包
  40. var logger = log4js.getLogger('console');
  41. console.log = logger.info.bind(logger);
  42. // app.use(log4js.connectLogger(this.logger('normal'), {level: "debug"}));