springboot对logback的支持是非常好的,不需要任何配置,只需要在resource下加logback.xml就可以实现功能
直接贴代码:
- <?xml version="1.0" encoding="UTF-8"?>
- <configuration scan="true" scanPeriod="60 seconds">
- <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
- <encoder>
- <pattern>%d{yyyy-M-d HH:mm:ss} %t %p %m%n</pattern>
- </encoder>
- </appender>
- <appender name="springboot"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <!-- <Encoding>UTF-8</Encoding> -->
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <FileNamePattern>logs/logback/springboot_%d{yyyy-M-d}.log
- </FileNamePattern>
- <MaxHistory>10</MaxHistory>
- </rollingPolicy>
- <encoder>
- <pattern>%d{yyyy-M-d HH:mm:ss} %t %p %m%n</pattern>
- </encoder>
- </appender>
- <appender name="smile"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <FileNamePattern>logs/logback/smile_%d{yyyy-M-d}.log
- </FileNamePattern>
- <MaxHistory>10</MaxHistory>
- </rollingPolicy>
- <encoder>
- <pattern>%d{yyyy-M-d HH:mm:ss} %t %p %m%n</pattern>
- </encoder>
- </appender>
- <logger name="org.springframework.boot" level="debug"
- additivity="false">
- <appender-ref ref="springboot" />
- </logger>
- <!-- name包必须能够扫描到所以类,包括启动类 -->
- <logger <span style="color:#ff0000;">name="com.smile"</span> level="debug" additivity="false">
- <appender-ref ref="smile" />
- </logger>
- <root level="info">
- <appender-ref ref="stdout" />
- </root>
- </configuration>
<?xml version="1.0" encoding="UTF-8"?> <configuration scan="true" scanPeriod="60 seconds">
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-M-d HH:mm:ss} %t %p %m%n</pattern>
</encoder>
</appender>
<appender name="springboot"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- <Encoding>UTF-8</Encoding> -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>logs/logback/springboot_%d{yyyy-M-d}.log
</FileNamePattern>
<MaxHistory>10</MaxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-M-d HH:mm:ss} %t %p %m%n</pattern>
</encoder>
</appender>
<appender name="smile"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>logs/logback/smile_%d{yyyy-M-d}.log
</FileNamePattern>
<MaxHistory>10</MaxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-M-d HH:mm:ss} %t %p %m%n</pattern>
</encoder>
</appender><logger name="org.springframework.boot" level="debug"</br>
additivity="false"></br>
<appender-ref ref="springboot" /></br>
</logger></br>
<!-- name包必须能够扫描到所以类,包括启动类 --></br>
<logger <span style="color:#ff0000;">name="com.smile"</span> level="debug" additivity="false"></br>
<appender-ref ref="smile" /></br>
</logger></br>
<root level="info"></br>
<appender-ref ref="stdout" /></br>
</root></br></configuration>
其中值得注意的是:你配置文件中的包名要能够扫描到你的所有类,包括启动类。
否则,你的日志文件是生成了,但是不会向里面写入内容
启动程序打印日志,日志成功生成:
