spring boot 日志配置方法
Posted xiaobaidonghui
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring boot 日志配置方法相关的知识,希望对你有一定的参考价值。
一、序
目前Spring Native
最新的版本为0.9.2
,官方文档指出已经支持了logback
日志框架,但仅限于properties
或yml
配置形式,对xml
配置仍未很好的支持。
奈何之前所有项目都是使用的logback-spring.xml
进行配置的,这篇记录一下如何使用properties
替换原有的配置文件。
二、日志配置
1. 控制台日志
控制台日志的配置较简单,主要是指定打印日志的格式及字符集,原始的xml
配置如下:
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%date %-5level --- [%thread] %logger{36} : %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
转写的配置文件如下:
logging:
charset:
console: UTF-8 # 控制台日志输出的字符集
pattern:
console: '%date %-5level --- [%thread] %logger{36} : %msg%n' # 控制台日志的格式
2. 文件日志
输出到文件的日志除了配置日志格式和字符集之外,还要设置文件输出的位置,而且考虑到软件安全审计的要求,通常还会设置按时间或大小的日志切割。
<appender name="DEBUGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/work/logs/debug.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>/work/logs/debug.%d{yyyy-MM-dd}-%i.log</FileNamePattern>
<MaxHistory>1095</MaxHistory>
<totalSizeCap>100GB</totalSizeCap>
<TimeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<MaxFileSize>30MB</MaxFileSize>
</TimeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>%date [%thread] %-5level %logger{80} - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
转写的配置文件如下:
logging:
charset:
file: UTF-8 #日志文件的字符集
pattern:
file: '%date [%thread] %-5level %logger{80} - %msg%n' #日志文件的日志格式
file:
name: /work/logs/debug.log #日志文件的保存路径
logback:
rollingpolicy:
file-name-pattern: '/work/logs/debug.%d{yyyy-MM-dd}-%i.log.gz' #滚动日志文件名,此处进行了GZ压缩
max-file-size: 30MB #单个日志文件的最大大小
max-history: 1095 #最多保留多少天日志
total-size-cap: 100GB #所有备份日志允许占用的最大空间
三、参考资料
参考资料:
https://docs.spring.io/spring-native/docs/current/reference/htmlsingle/
https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#application-properties自研广告位:
以上是关于spring boot 日志配置方法的主要内容,如果未能解决你的问题,请参考以下文章