Node日志感受

why

日志是用来记录程序运行重要的工具

  • 记录请求日志,关键节点打上日志,可以追踪问题(生产
  • 方便调试,定位故障
  • 监控应用的运行状态

what(egg.js为例)

日志分为:

  • appLogger应用日志,也是我们自定义的日志
  • coreLogger核心框架,插件日志
  • errorLogger
  • agentLogger用于监控agent日志

日志级别:

  • ctx.logger.debug()
  • ctx.logger.info()
  • ctx.logger.warn()
  • ctx.logger.error()
  • 以appLogger为例,一共4*4种

日志编码:

  • 默认utf-8

feature

目前日志都支持切割,每天一个文件,以.log.2019-09-14为尾缀(小时切割和文件大小切割实用性不高),编写日志的时候我们也需要注意如下几点:

  • 在关键请求关键位置打好日志

  • 打印日志注明这是哪个文件哪个方法处理的日志

    • logger.debug(`>>>> Entering yourMethod(month = ${month}, count= ${count}");
      //通过日志 >>>> 和 <<<< 将给出函数输入和退出的信息
      
  • 日志不能太多,一个是查问题日志太多,第二个是对硬盘写入日志也有一定性能影响(egg是写入内存,每秒保存一次硬盘)

  • 合理使用try-catch来进行日志输出

  • 日志写法一定要避免简洁,不要日志再抛错(正常打印参数,打印处理结果)

  • 日志不能具备除了日志以外的功能

  • 正确把握日志级别,info记录信息(最主要的),debug显示调试信息,warn显示警告,error保存数据库请求类型的报错

  • 尽量使用ctx.logger而并非console.log,后者将会把所有日志打印在stdout中,无法关闭或打开调试信息,并且不区分级别

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值