码迷,mamicode.com
首页 > 编程语言 > 详细

在SpringBoot程序中记录日志

时间:2019-01-12 22:45:45      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:evel   amp   final   log4j   tail   private   root   https   image   

所有的项目都会有日志,日志文件是用于记录系统操作事件的记录文件或文件集合,可分为事件日志和消息日志。具有处理历史数据、诊断问题的追踪以及理解系统的活动等重要作用。这节描述如何用springboot记录日志。


记录日志的方法

一般记录日志的方法有两种

  • Commons-logging:
private static final Log log = logFactory.getLog(Xxxxxx.class);
  • SLF4J:
private static final Logger logger = logFactory.getLogger(Xxxxxx.class);

这两种方法其实都差不多,它们定义log/logger的方法也差不多...


日志级别

日志级别共八级,一般我们用到的日志只有中间四级,下面简单介绍一下

ALL < TEACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF

ALL 最低等级的,用于打开所有日志记录。

TRACE 很低的日志级别,一般不会使用。

DEBUG 指出细粒度信息事件对调试应用程序是非常有帮助的,主要用于开发过程中打印一些运行信息。

INFO 消息在粗粒度级别上突出强调应用程序的运行过程。打印一些你感兴趣的或者重要的信息,这个可以用于生产环境中输出程序运行的一些重要信息,但是不能滥用,避免打印过多的日志。

WARN 表明会出现潜在错误的情形,有些信息不是错误信息,但是也要给程序员的一些提示。

ERROR 指出虽然发生错误事件,但仍然不影响系统的继续运行。打印错误和异常信息,如果不想输出太多的日志,可以使用这个级别。

FATAL 指出每个严重的错误事件将会导致应用程序的退出。这个级别比较高了。重大错误,这种级别你可以直接停止程序了。

OFF 最高等级的,用于关闭所有日志记录。

如果将log level设置在某一个级别上,那么比此级别优先级高的log都能打印出来。例如,如果设置优先级为WARN,那么OFF、FATAL、ERROR、WARN 4个级别的log能正常输出,而INFO、DEBUG、TRACE、 ALL级别的log则会被忽略。Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。

log4j默认的优先级为ERROR

(以上转自shiyonghm的博客)


application.yml配置日志

把下面这段代码copy进去就可以了,但最后一行的com.example是需要改一改的,改成你自己的项目结构目录即可。

logging:
  file: target/app.log
  level:
    ROOT: WARN
    com.example: TRACE

我这里设置打印了5个等级的信息

再次运行,发现日志等级高于等于TRACE的信息已被打印出来

技术分享图片

若设置为

logging:
  file: target/app.log
  level:
    ROOT: WARN
    com.example: INFO

再次运行后,发现低于INFO等级的信息都已不再打印

技术分享图片

若设置为OFF

logging:
  file: target/app.log
  level:
    ROOT: WARN
    com.example: OFF

不再打印任何信息

技术分享图片

在SpringBoot程序中记录日志

标签:evel   amp   final   log4j   tail   private   root   https   image   

原文地址:https://www.cnblogs.com/zilongmao/p/10261064.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!