等级解读
1.fatal - 严重的,造成服务中断的错误;
2.error - 其他错误运行期错误;
3.warn - 警告信息,如程序调用了一个即将作废的接口,接口的不当使用,运行状态不是期望的但仍可继续处理等;
4.info - 有意义的事件信息,如程序启动,关闭事件,收到请求事件等;
5.debug - 调试信息,可记录详细的业务处理到哪一步了,以及当前的变量状态;
6.trace - 更详细的跟踪信息;
基本的Logger编码规范
1.输出Exceptions的全部Throwable信息,因为logger.error(msg)logger.error(msg,e.getMessage())这样的日志输出方法会丢失掉最重要的StackTrace信息。
2.不允许记录日志后又抛出异常,因为这样会多次记录日志,只允许记录一次日志。
3.不允许出现System print(包括System.out.println和System.error.println)语句。
4.不允许出现printStackTrace。占用内存,没有日志级别,不方便调试。
5.使用Slf4j框架
6.有意义的日志
通常情况下在程序日志里记录一些比较有意义的状态数据:程序启动,退出的时间点;程序运行消耗时间;耗时程序的执行进度;重要变量的状态变化。在公共的日志里规避打印程序的调试或者提示信息。