返回介绍

日志管理

发布于 2020-11-08 04:46:34 字数 2355 浏览 849 评论 0 收藏 0

在 YOG2 中,使用 yog-log 来处理日志功能,YOG2 的日志功能的特点在于可以准确的提供请求的 LogID ,方便以请求为单位对问题进行追查。

准确提供请求级 LogID 的难点在于如何让各种与请求无关的模块正确的获取当前调用请求的 LogID ,如果使用全局变量,由于 Node.js 的异步 I/O 模型,不同请求直接的 LogID 会出现被覆盖的情况。 yog-log 则通过 domain 技术来保证了不同的请求之间,可以获取到正确的 LogID

日志配置

日志配置位于 project 的 /conf/plugins/log.js 中。它提供的配置有

  • app

    配置日志的App名称,默认为 yog

  • intLevel

    根据值的不同,控制Log输出的日志级别

    • 1 打印FATAL
    • 2 打印FATAL和WARNING
    • 4 打印FATAL、WARNING、NOTICE (线上程序正常运行时的配置)
    • 8 打印FATAL、WARNING、NOTICE、TRACE (线上程序异常时使用该配置)
    • 16 打印FATAL、WARNING、NOTICE、TRACE、DEBUG (测试环境配置)
  • auto_rotate

    控制是否自动将日志根据小时切分,默认为 1

  • debug

    开启debug后,日志将在控制台输出而不是文件中输出,默认为 0

  • format 与 format_wf

    用于配置常规日志与错误日志的日志格式,具体参数请参考 yog-log

  • log_path

    Log的存放目录

yog.log

yog.log 是用于记录日志的接口,他按照日志等级提供了多个接口

  • yog.log.debug
  • yog.log.trace
  • yog.log.notice
  • yog.log.warning
  • yog.log.fatal

使用示例:

// 打印NOTICE日志
yog.log.notice('server started');

// 记录详尽的FATAL日志
 yog.log.fatal({
   'stack':e, //错误堆栈
   'errno':120,  //错误码
   'msg' :'error happened!',  //错误消息
   'custom':{'key1' :'value1','key2':'value2'} //自定义消息
 });

// 记录简单的FATAL日志
yog.log.fatal('error happend!');

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文