Spring Boot 配置 logback 文件
Spring Boot logback About 3,307 wordslogback.xml
${user.dir}/logs
:日志输出在jar
包同级目录下的logs
文件夹中。RollingFileAppender
:按日压缩日志文件。maxHistory
:保留5
天的压缩文件。AsyncAppender
:异步写文件。queueSize
:异步写文件线程池大小。discardingThreshold
:当队列大小小于0
时丢弃TRACE
、DEBUG
和INFO
级别日志,设置0
等同于保留全部级别。neverBlock
:队列满了将直接返回,而不是挂起线程。
jar包方式部署
生产环境jar
包部署时,一般都指定了> /dev/null 2>&1
将输出流丢弃,故配置了console-appender
在生产环境时都直接不输出了。而在测试环境则可以在控制台看到正常日志输出,便于观察。
若生产环境不指定> /dev/null 2>&1
,将会输出到同级目录下得nohup.out
文件中。
Spring Boot
环境建议重命名为logback-spring.xml
。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<include resource="org/springframework/boot/logging/logback/console-appender.xml"/>
<property name="logPath" value="${user.dir}/logs"/>
<appender name="FILE_APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${logPath}/log-info.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${logPath}/history-log-%d{yyyy-MM-dd}.zip</FileNamePattern>
<maxHistory>5</maxHistory>
</rollingPolicy>
<encoder>
<Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg %n</Pattern>
</encoder>
</appender>
<appender name="FILE_APPENDER_ASYNC" class="ch.qos.logback.classic.AsyncAppender">
<discardingThreshold>0</discardingThreshold>
<queueSize>12000</queueSize>
<neverBlock>true</neverBlock>
<appender-ref ref ="FILE_APPENDER"/>
</appender>
<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE_APPENDER_ASYNC"/>
</root>
<logger name="com.example" level="DEBUG"/>
</configuration>
war包方式部署
相比于jar
包方式部署的配置,去除了defaults.xml
、console-appender.xml
以及<appender-ref ref="CONSOLE"/>
,这样可以保证日志不在catalina.out
中输出。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="logPath" value="${catalina.base}/logs"/>
<appender name="FILE_APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${logPath}/log-info.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${logPath}/history-log-%d{yyyy-MM-dd}.zip</FileNamePattern>
<maxHistory>5</maxHistory>
</rollingPolicy>
<encoder>
<Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg %n</Pattern>
</encoder>
</appender>
<appender name="FILE_APPENDER_ASYNC" class="ch.qos.logback.classic.AsyncAppender">
<discardingThreshold>0</discardingThreshold>
<queueSize>12000</queueSize>
<neverBlock>true</neverBlock>
<appender-ref ref ="FILE_APPENDER"/>
</appender>
<root level="INFO">
<appender-ref ref="FILE_APPENDER_ASYNC"/>
</root>
<logger name="com.wostore" level="INFO"/>
</configuration>
Views: 3,749 · Posted: 2020-12-09
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb/LiteNote扫描下方二维码关注公众号和小程序↓↓↓
Loading...