Spring Boot 配置 logback 文件
Spring Boot logback 大约 3307 字logback.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>
阅读 2096 · 发布于 2020-12-09
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb扫描下方二维码关注公众号和小程序↓↓↓

昵称:
随便看看
换一批
-
GoLand defer 提示 Unhandled error 解决方法阅读 6596
-
PHP 判断函数、类、方法、属性、数组中的 key 是否存在阅读 3166
-
package.json 中的依赖包版本号阅读 75
-
Docker CMD ENTRYPOINT 区别阅读 713
-
Android Gradle 去除重复依赖阅读 3025
-
IDEA 启动项目报 java: 程序包 xxx 不存在阅读 502
-
Oracle 限制只返回一条记录阅读 5537
-
PostgreSQL 时间戳转毫秒值并去除小数位阅读 3757
-
Linux jobs fg bg disown阅读 2173
-
Android 根据包名启动 Activity阅读 2795