Spring Boot中使用logback日志框架

时间:2021-11-14 13:20:12

说明:Spring Boot在最新的版本中默认使用了logback框架。一般来说使用时只需在classpath下创建logback.xml即可,而官方推荐使用logback-spring.xml替代,效果更好,并且官方的application.properties文件也可以配置,但是选项较少。

logback.xml文件参考:http://www.cnblogs.com/EasonJim/p/7801231.html

application.properties文件参考:

logging.config = #记录配置文件的位置。例如Logback的`classpath:logback.xml`
logging.exception-conversion-word =%wEx #记录异常时使用的转换字。
logging.file =#日志文件名称。例如`myapp.log`
logging.level.* = #日志级别严重性映射。例如`logging.level.org.springframework = DEBUG`
logging.path = #日志文件的位置。例如`/var/log`
logging.pattern.console = #输出到控制台的Appender模式。仅支持默认的登录设置。
logging.pattern.file = #输出到文件的Appender模式。仅支持默认的登录设置。
logging.pattern.level = #日志级别的Appender模式(默认%5p)。仅支持默认的登录设置。
logging.register-shutdown-hook = false#初始化时为日志系统注册一个关闭钩子

通过启动参数设置:

Spring的配置(可以通过启动是--xxx指定) 系统属性(可以通过启动是-Dxxx指定) 注释

logging.exception-conversion-word

LOG_EXCEPTION_CONVERSION_WORD

记录异常时使用的转换字。

logging.file

LOG_FILE

用于默认日志配置(如果已定义)。

logging.path

LOG_PATH

用于默认日志配置(如果已定义)。

logging.pattern.console

CONSOLE_LOG_PATTERN

在控制台上使用的日志模式(stdout)。(仅支持默认的登录设置。)

logging.pattern.file

FILE_LOG_PATTERN

在文件中使用的日志模式(如果启用LOG_FILE)。(仅支持默认的登录设置。)

logging.pattern.level

LOG_LEVEL_PATTERN

用于呈现日志级别的格式(默认%5p)。(仅支持默认的登录设置。)

PID

PID

当前的进程ID(如果可能,还没有被定义为OS环境变量时发现)。

说明:上面表格可以通过properties指定,也可以通过启动参考--xxx指定,同时也支持系统属性-Dxxx启动时指定。

配置技巧:

1、logging.config=classpath:logback-boot.xml,可以指定xml的配置文件,但是不要使用logback.xml,因为logback.xml的加载早于application.properties。

2、默认情况下,spring boot从控制台打印出来的日志级别只有ERROR, WARN 还有INFO,如果你想要打印debug级别的日志,可以通过application.properites配置debug=true,也可以这样指定java -jar C:\Users\Administrator\Desktop\xx\demo.jar --debug

配置项参考:

logging.level.root=INFO
logging.level.org.springframework.web=DEBUG
logging.level.org.hibernate=ERROR

3、默认情况下spring boot是不将日志输出到日志文件中,但你可以通过在application.properites文件中配置logging.file文件名称和logging.path文件路径,将日志输出到文件中。

配置项参考:

logging.path=F:\\demo
logging.file=demo.log
logging.level.root=info

4、logging.path与logging.file的配置注意事项

  • 里若不配置具体的包的日志级别,日志文件信息将为空
  • 若只配置logging.path,那么将会在F:\demo文件夹生成一个日志文件为spring.log(ps:该文件名是固定的,不能更改)。如果path路径不存在,会自动创建该文件夹
  • 若只配置logging.file,那将会在项目的当前路径下生成一个demo.log日志文件。这里可以使用绝对路径如,会自动在e盘下创建文件夹和相应的日志文件。
    logging.file=e:\\demo\\demo.log
  • logging.path和logging.file同时配置,不会在这个路径有F:\demo\demo.log日志生成,logging.path和logging.file不会进行叠加(要注意)
  • logging.path和logging.file的value都可以是相对路径或者绝对路径

参考:

https://docs.spring.io/spring-boot/docs/1.5.7.RELEASE/reference/htmlsingle/#boot-features-custom-log-configuration(官方配置文件)

http://www.cnblogs.com/lixuwu/p/5804793.html(以上部分内容转自此篇文章)

http://blog.csdn.net/lu1005287365/article/details/53382283

http://blog.csdn.net/sun_t89/article/details/52130839

https://springframework.guru/using-logback-spring-boot/