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>
阅读 2797 · 发布于 2020-12-09
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb扫描下方二维码关注公众号和小程序↓↓↓

昵称:
随便看看
换一批
-
Chrome 打开开发者工具的几种方法阅读 2426
-
IDEA 使用 Swing Explorer 调试 Swing 和 AWT阅读 2517
-
Spring Boot 使用 MongoTemplate 操作 MongoDB阅读 22309
-
Prometheus+Grafana+elasticsearch_exporter 监控 Elasticsearch阅读 1438
-
Java jps 命令列出 jstatd 监听的服务阅读 1566
-
Java 中的锁 ReentrantLock阅读 1400
-
软考-系统架构设计师:NoSQL阅读 2062
-
OpenResty 清除 Sever 头信息阅读 3492
-
Chrome 设置 HTTP 网站允许开启麦克风阅读 70
-
OpenResty 中使用 lua-resty-woothee 解析 User-Agent阅读 5025