日志

  • 记录操作
  • 监控系统
  • 回溯故障

日志规范

文件命名:appName_logType_logName.log

日志文件的保存时间衡量因素:

  1. 重要程度
  2. 文件大小
  3. 磁盘空间

日志级别:

  • DEBUG 对调试有帮助的信息
  • INFO 未发生错误 但对其他错误排查有指导作用
  • WARN 偏向于此处有出现错误的可能
  • ERROR 发生了错误需要被关注 但没有影响系统运行
  • FATAL 严重错误 程序中断

日志使用

预先判断日志级别

避免使用字符串的形式连接打印日志

log.debug("user " + id + "create new order " + orderId) // bad

if (log.enableDebug){ // good
  log.debug(...)
}
log.debug('user {} create new order {}', id, orderId) // good

主要是防止无谓的字符串连接消耗系统资源

避免无效日志打印

对于debug log 等低级别的日志 一定要控制好输出量 避免磁盘空间被快速吞掉

区别对待错误日志

不能将所有错误一股脑归类为ERROR级别

ERROR级别就代表是需要人工介入处理的级别

日志记录的内容

  1. 一定要输出异常堆栈
  2. 输出对象实例时 要确保对象重写了 toString 方法

日志框架

屏幕截图 2020-09-19 114841

results matching " "

No results matching " "

results matching " "

No results matching " "