logger.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. 'use strict';
  2. /**
  3. * [exports 上传的响应主体大小配置]
  4. * @type {Object}
  5. */
  6. module.exports = appInfo => {
  7. /**
  8. * 项目日志配置项
  9. */
  10. return {
  11. /**
  12. * [level 日志级别的配置 日志分为 NONE,DEBUG,INFO,WARN 和 ERROR 5 个级别]
  13. * NONE 关闭所有打印到文件的日志
  14. * 默认只会输出 INFO 及以上(WARN 和 ERROR)的日志到终端中
  15. * @type {String}
  16. */
  17. level: 'ERROR',
  18. /**
  19. * [buffer 如果启用,则以特定频率将日志刷新到磁盘以提高性能,默认为true]
  20. * @type {Boolean}
  21. */
  22. buffer:true,
  23. /**
  24. * [outputJSON log as JSON or not, defaults to false]
  25. * @type {Boolean}
  26. */
  27. outputJSON: false,
  28. /**
  29. * [encoding log file encoding, defaults to utf8]
  30. * @type {String}
  31. */
  32. encoding: 'utf8',
  33. /**
  34. * [consoleLevel 打印所有级别日志到终端]
  35. * NONE 关闭所有打印到终端的日志
  36. * @type {String}
  37. */
  38. consoleLevel:'ERROR',
  39. /**
  40. * [allowDebugAtProd 为了避免一些插件的调试日志在生产环境打印导致性能问题,
  41. * 生产环境默认禁止打印 DEBUG 级别的日志,如果确实有需求在生产环境打印 DEBUG 日志进行调试,
  42. * 需要打开 allowDebugAtProd 配置项。]
  43. * @type {Boolean}
  44. */
  45. allowDebugAtProd: false,
  46. /**
  47. * [disableConsoleAfterReady 基于性能的考虑,在正式环境下,默认会关闭终端日志输出。如有需要,
  48. * 你可以通过下面的配置开启。(不推荐)]
  49. * @type {Boolean}
  50. */
  51. disableConsoleAfterReady:false,
  52. /**
  53. * [dir 日志记录位置]
  54. * @type {String}
  55. */
  56. dir:`${appInfo.baseDir}/runtime/logs/`,
  57. /**
  58. * [appLogName 应用相关日志,供应用开发者使用的日志]
  59. * @type {[type]}
  60. */
  61. appLogName: `${appInfo.name}-egg-access.log`,
  62. /**
  63. * [coreLogName 框架内核、插件日志]
  64. * @type {[type]}
  65. */
  66. coreLogName:`${appInfo.name}-egg-core.log`,
  67. /**
  68. * [errorLogName 任何 logger 的 .error() 调用输出的日志都会重定向到这里,重点通过查看此日志定位异常。]
  69. * @type {[type]}
  70. */
  71. errorLogName:`${appInfo.name}-egg-error.log`,
  72. /**
  73. * [agentLogName agent 进程日志,框架和使用到 agent 进程执行任务的插件会打印一些日志到这里]
  74. * @type {[type]}
  75. */
  76. agentLogName:`${appInfo.name}-egg-agent.log`
  77. };
  78. };