rewrite from lager
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

99 line
5.6 KiB

4 年之前
4 年之前
4 年之前
4 年之前
4 年之前
  1. [
  2. {eRum, [
  3. %% ******************************************** 颜色打印相关 *****************************************************
  4. %% 是否开启颜色
  5. {colored, false},
  6. %% 颜色码配置
  7. {colors, [
  8. {debug, "\e[0;38m"},
  9. {info, "\e[1;37m"},
  10. {notice, "\e[1;36m"},
  11. {warning, "\e[1;33m"},
  12. {error, "\e[1;31m"},
  13. {critical, "\e[1;35m"},
  14. {alert, "\e[1;44m"},
  15. {emergency, "\e[1;41m"}
  16. ]},
  17. %% ******************************************** format相关 ******************************************************
  18. {metadata_whitelist, []},
  19. {reverse_pretty_stacktrace, true},
  20. %%*********************************************** 异步日志相关 *****************************************************
  21. %% 异步切换到同步时模式gen_event邮箱的最大消息数,此值仅应用于默认接收器; 额外的接收器也可以自己配置。
  22. %% 格式 integer() | undefined 当值为undefined 禁用此功能
  23. {asyncThreshold, 20},
  24. %%当gen_event 邮箱大小从 asyncThreshold 减小到 asyncThreshold-asyncThresholdWindow 时,切换回异步模式。
  25. %% 此值仅适用于默认接收器。额外的接收器可以自己配置。
  26. {asyncThresholdWindow, 5},
  27. %%*********************************************** handler与接收器(sink) *****************************************
  28. %% 消息处理模块可以存在多个,[{Name, [Optins]}]=Handler() {lager_file_backend, [{file, "console.log"}, {level, info}]} 消息处理模块可以存在多个
  29. {handlers, []},
  30. %% 额外的接收器列表 [{handler, [Handler()]}]
  31. {extraSinks, []},
  32. %% 限制每秒允许的消息数量 最好将此数字保持较小
  33. {errLoggerHwm, 50},
  34. {traces, []},
  35. %% ********************************************** 日志文件配置相关 ************************************************
  36. %% 可选的日志路径, 默认情况下是当前路径
  37. {logRoot, "./log"},
  38. %% crash log cfg
  39. %% 有效值 string | false
  40. %% 为 false 的时候 没有 crash logger.
  41. {crashLogFile, "crash.log"},
  42. %%崩溃日志中事件的最大大小(以字节为单位)-默认为65536
  43. {crashLogMsgSize, 65536},
  44. %% 崩溃日志的最大大小(以字节为单位),在旋转之前,设置为0以禁用旋转-默认值为0
  45. {crashLogFileSize, 10485760},
  46. %% 什么时间轮换崩溃日志-默认为无时间轮换。有关此格式的说明,请参见自述文件。
  47. {crashLogDate, "$D0"},
  48. %% 要保留的已轮转崩溃日志的数量,0表示仅保留当前的一个-默认值为0
  49. {crashLogCount, 5},
  50. %% 崩溃日志旋转器模块-默认为lager_rotator_default
  51. {crashLogRotator, lager_rotator_default},
  52. %% ********************************************** error_logger相关 **********************************************
  53. %% 是否将error_logger消息重定向到默认的lager_event接收器-默认为true
  54. {errLoggerRedirect, false},
  55. %% 列表中的handler 不会处理error_logger
  56. {errLoggerWhitelist, []},
  57. %% 每秒允许来自error_logger的消息数量是多少 超过就丢弃掉
  58. {errLoggerHwm, 50},
  59. %% errLogger group leader策略 handle | ignore | mirror
  60. {errLoggerGroupLeaderStrategy, handle},
  61. {errLoggerFormatRaw, false},
  62. %% 对于特定的接收器事件队列刷新,请使用改选项
  63. {flushQueue, true},
  64. %% 对于接收器 如果flush_queue为true,则可以设置消息队列长度阈值,在该阈值处将开始丢弃消息。默认阈值为0,
  65. %% 这意味着如果flush_queue为true,则超过高水位标记时将丢弃消息,而不管消息队列的长度如何。:
  66. {flushThreshold, 1000},
  67. %% 超过高水位标记时,可以将啤酒配置为刷新消息队列中的所有事件通知
  68. {errLoggerFlushQueue, true},
  69. %% 如果flush_queue为true,则可以设置消息队列长度阈值,在该阈值处将开始丢弃消息。默认阈值为0,这意味着如果flush_queue为true,
  70. %% 则超过高水位标记时将丢弃消息,而不管消息队列的长度如何。用于控制阈值的选项是error_logger:
  71. {errLoggerFlushThreshold, 20},
  72. %% ********************************************** killer相关 ****************************************************
  73. %% 如果接收器的邮箱大小超过1000条消息,请杀死整个接收器并在5000毫秒后重新加载它。如果需要,此行为也可以安装到其他水槽中。
  74. {killerHwm, 1000},
  75. %% 参见killer_hwm
  76. {killerReTime, 5000},
  77. %% ********************************************** app启动停止监听相关 *********************************************
  78. %% 如果您不想在应用程序的调试级别看到主管和应用程序启动/停止日志,则可以使用以下配置将其关闭:
  79. {suppress_application_start_stop, true},
  80. {suppress_supervisor_start_stop, true}
  81. %% **********************************************其他备注 ********************************************************
  82. %%Lager默认将消息截断为4096字节,您可以使用该{lager_truncation_size, X}选项进行更改。在钢筋中,您可以将其添加到 erl_opts:
  83. %%{ erl_opts,[{ parse_transform,lager_transform },{ lager_truncation_size,1024 }]}。
  84. %%erlc如果您愿意,也可以将其传递给,
  85. %%erlc -pa lager/ebin +'{parse_transform, lager_transform}' +'{lager_truncation_size, 1024}' file.erl
  86. ]}
  87. ].