原文链接:
一、直接配置application.yml文件,输出SpringBoot默认的日志
logging:
file:
max-size: 100MB # 最大日志文件大小
max-history: 15 # 日志保存15天
total-size-cap: 4096mb # 日志备份的总大小
path: D:/Logs
效果:
所有类型的文件直接写在spring.log里面
更多配置选项
在4.6节有详细说明
二、使用logback-spring.xml进行配置
SpringBoot默认提供Java.Util.Logging 、Log4J2、和LogBack的配置。当然,也可以自定义。
对应的加载以下文件。
Logging System | Customization |
---|---|
Logback |
|
Log4j2 |
|
JDK (Java Util Logging) |
|
这里以logback-spring.xml为例。
1. 配置 application.yml
logging:
config: classpath:logbak-spring.xml
在 resources下,创建logbak-spring.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="LOG_HOME" value="D:/mes2-Logs/LotOperation" />
<property name="LOG_ERROR_HOME" value="D:/mes2-Logs/LotOperation/error" />
<!-- 控制台输出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger[%line] - %msg %n</pattern>
</encoder>
</appender>
<!-- 文件输出 -->
<appender name="rollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- <file>${LOG_HOME}/app.log</file> -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_HOME}/app.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<!-- 如果按天来回滚,则最大保存时间为30天,30天之前的都将被清理掉,这里的值与滚动策略模式有关 -->
<maxHistory>30</maxHistory>
<!-- 按照日期进行归档,并且对日志文件大小进行限制 -->
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- 设置文件大于100MB进行压缩归档 ,此时fileNamePattern要加%i -->
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger[%line] - %msg %n</pattern>
</encoder>
</appender>
<!-- ERROR文件输出 -->
<appender name="errorRollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- <file>${LOG_HOME}/app.log</file> -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_ERROR_HOME}/app.error.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<!-- 如果按天来回滚,则最大保存时间为30天,30天之前的都将被清理掉,这里的值与滚动策略模式有关 -->
<maxHistory>30</maxHistory>
<!-- 按照日期进行归档,并且对日志文件大小进行限制 -->
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- 设置文件大于100MB进行压缩归档 ,此时fileNamePattern要加%i -->
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger[%line] - %msg %n</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
</configuration>
效果:
三、使用logg4j2进行日志输出
略。网上资源很多