SpringBoot日志说明
SpringBoot支持四种日志格式:
- JavaLoggingSystem
- Log4jLoggingSystem
- Log4j2LoggingSystem
- LogbackLoggingSystem
SpringBoot 默认使用的是LogbackLoggingSystem。已经整合了Log4jLoggingSystem和Log4j2LoggingSystem的一些特点。以下是一个简单的配置和字段说明。
<?xml version="1.0" encoding="UTF-8"?>
<!--scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。-->
<!--scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。-->
<!--debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false-->
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<!-- 定义日志名称 -->
<contextName>log for myself</contextName>
<!-- 配置日志属性(此处添加的属性在后文可以使用${name}获取value) -->
<property name="log.path" value="D:\\my own note package\\log\\log.log"/> <!-- 如果配置路径,必须使用绝对路径-->
<property name="log.totalSize" value="1024MB"/><!-- 单位 KB MB GB -->
<property name="log.maxHistory" value="30"/>
<!-- appender 控制日志的输出形式 -->
<!--输出到控制台-->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>DEBUG</level>
</filter>
<encoder>
<pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!--输出到文件(也可以配置多个文件,每个文件记录不同级别的日志信息)-->
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>log_%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>${log.maxHistory}</maxHistory>
<totalSizeCap>${log.totalSize}</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
<!-- 添加日志过滤,文件只记录INFO以上级别的日志 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- appender 控制日志的输出级别 -->
<!-- 日志的级别顺序 TRACE < DEBUG < INFO < WARN < ERROR-->
<root level="DEBUG">
<appender-ref ref="console"/>
<appender-ref ref="file"/>
</root>
<!-- 对单个文件或文件夹的日志进行具体的级别控制 -->
<logger name="com.myself.filedeal" level="DEBUG" addtivity="false">
<appender-ref ref="console"/>
<appender-ref ref="file"/>
</logger>
</configuration>
使用自定义配置时,需要在application.yml中配置对应的信息
logging:
config: classpath:config\logback-spring.xml