自上而下,等级递增。
- Trace - 最常见的记录信息,一般用于普通输出
最啰嗦的等级,临时用一下,后续甚至会把Trace代码删除。
- Debug - 同样是记录信息,不过出现的频率要比Trace少一些,一般用来调试程序
协助开发人员定位问题,生产环境会屏蔽。
- Info - 信息类型的消息
最重要的一个等级,要设计的足够巧妙,能准确反映整个应用程序的运行轨迹,系统出现故障时,能够协助开发人员定位到中止的地点。同时,又不能冗余,同样的信息打印多份,对分析日志进行干扰,还有多余的磁盘网络IO,影响正常的业务流程。【绿】
- Warn - 警告信息,一般用于比较重要的场合
不紧急的错误,预警,警示,可恢复的错误。【黄】
- Error - 错误信息
紧急故障,需要人工确认处理,否则继续执行下去可能发生不好的事情。可能要自动把错误详情发短信,发邮件给责任人。【红】
- Fatal - 致命异常信息,一般来讲,发生致命异常之后程序将无法继续执行。
程序崩溃前记录的错误。出现此级别的日志,意味着应用即将崩溃关闭。
1、在能反映应用程序轨迹的前提下,日志打印的越少越好。忌讳打印多份表示相同信息的日志,比如收到的消息和解析后的消息,两个只留一个就好了。
2、Warn,Error,Fatal等级的日志越详细越好,详细是唯一的追求目标,性能什么的全部靠边站。异常堆找,异常类型,异常信息,代码文件,代码行数,类名。
3、项目中使用的日志等级
开发期:>= Debug 上线:>= Info