springboot的日志配置logback
程序员文章站
2022-07-03 15:37:16
...
-
application.yml
# logback-spring.xml优先级高,
# 没有特殊要求可以不用logback-spring.xml这个配置文件,只需要下面配置就可以
# max-history(单位天)max-size(支持KB/MB/GB)
# logback的默认配置文件在spring-boot:2.1.6.RELEASE的包里面
logging.file: "/opt/logs/app.log"
logging:
file:
max-size: 200MB
max-history: 15
total-size-cap: 20G
level:
root: INFO
org.springframework: DEBUG
pattern:
console: "%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%t]){faint} %clr(%-40.40logger{39}){cyan}[lineno:%line] %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:%wEx}"
file: "%d{yyyy-MM-dd HH:mm:ss.SSS} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%t] %-40.40logger{39}[lineno:%line]: %m%n${LOG_EXCEPTION_CONVERSION_WORD:%wEx}"
# config: "classpath:logback-spring.xml"
-
logback-spring.xml
其中APP_NAME修改为自己的应用名字
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<!--定义参数,后面可以通过${APP_NAME}使用-->
<property name="APP_NAME" value="app-start" />
<property name="LOG_PATH" value="${user.home}/${APP_NAME}/logs" />
<property name="LOG_FILE" value="${LOG_PATH}/application.log" />
<appender name="APPLICATION"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--定义日志输出的路径-->
<file>${LOG_FILE}</file>
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<maxHistory>7</maxHistory>
<maxFileSize>200MB</maxFileSize>
<totalSizeCap>20GB</totalSizeCap>
</rollingPolicy>
</appender>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
<charset>utf8</charset>
</encoder>
</appender>
<!--rootLogger是默认的logger-->
<root level="INFO">
<!--定义了两个appender,日志会通过往这两个appender里面写-->
<appender-ref ref="CONSOLE" />
<appender-ref ref="APPLICATION" />
</root>
<!--应用日志-->
<!--这个logger没有指定appender,它会继承root节点中定义的那些appender-->
<logger name="org.swhysc" level="DEBUG"/>
<!--数据库日志-->
<!--由于这个logger自动继承了root的appender,root中已经有stdout的appender了,自己这边又引入了stdout的appender-->
<!--如果没有设置 additivity="false" ,就会导致一条日志在控制台输出两次的情况-->
<!--additivity表示要不要使用rootLogger配置的appender进行输出-->
<logger name="com.apache.ibatis" level="TRACE" additivity="false">
<appender-ref ref="CONSOLE"/>
</logger>
</configuration>
-
验证
可以修改下面三个值测试,例如max-size=10KB
max-size: 200MB
max-history: 15
total-size-cap: 20G
上一篇: flask开发经验汇总
推荐阅读
-
1-4. SpringBoot配置自定义拦截器,实现日志管理
-
详解Spring Boot配置使用Logback进行日志记录的实战
-
springboot+mybatis日志显示SQL的最简单方法
-
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装最快的解决办法
-
apache 配置成滚动日志的方法
-
Django使用uwsgi部署时的配置以及django日志文件的处理方法
-
利用SpringBoot+Logback手写一个简单的链路追踪
-
SpringBoot 正式环境必不可少的外部化配置
-
SpringBoot多配置切换的配置方法
-
Springboot 2.0.x 集成基于Centos7的Redis集群安装及配置