常见5种日志级别以及其使用场景
日志级别常用有5个日志级别,优先级从高到底依次为ERROR、WARN、INFO、DEBUG、TRACE
-
【ERROR】 程序发生错误时,但仍然不影响系统的继续运行。打印错误和异常信息,方便解决问题。
ERROR是错误的意思,但不代表出现异常的地方就该打ERROR。应该说ERROR是相对程序正确运行来说的,如果出现了ERROR那就代表出问题了,开发人员必须要查一下原因,或许是程序问题,或许是环境问题,或许是理论上不该出错的地方出错了。总之,如果你觉得某个地方出问题时需要解决,就打ERROR,如果不需要解决就不要打ERROR。
eg:
-
【WARN】警告信息,有些信息不是错误信息,但是也要给程序员的一些提示和注意
WARN是指出现了不影响程序正确运行的问题,WARN也是问题但不影响程序正常运行,如果WARN出现的过于频繁或次数太多,那就代表你要检查一下程序或环境或依赖程序是否真的出问题了。例如:你访问一个接口,设置了一个超时,频繁的有超时请求,就应该使用WARN来提示开发人员。
eg:
-
【INFO】信息在粗粒度级别上突出强调应用程序的运行过程。打印一些你感兴趣的或者重要的信息,这个可以用于生产环境中输出程序运行的一些重要信息来定位和查找问题。
在程序出问题时,如果这条log可以帮助你分析问题或查看程序的运行情况,那就应该打个INFO
eg:
-
【DEBUG】信息对调试应用程序是非常有帮助的,主要用于开发过程中打印一些运行信息。
如果仅仅是为了在调试阶段查看程序是否运行正确那就要打DEBUG
eg:
-
【TRACE】很低的日志级别,不常用。
日志级别
如果将log level设置为某个级别上,那么比此等级优先级高的log都能打印出来。例如:如果设置级别为INFO,则ERROR、WARN和INFO级别的log都输出,而DEBUG、TRACE、ALL级别的log则会被忽略。
在生产环境一般配置日志等级为INFO,开发环境配置为DEBUG