springboot-用logback将日志文件按等级保存到不同文件
2018-06-04 21:55
573 查看
springboot-用logback将日志文件按等级保存到不同文件
案例:
例如项目基本包名为com.xxx,将该包下的所有日志按debug、info、warn、error等级分别保存到D:/log文件夹下的logback_debug、logback_info、logback_warn、
logback_error文件中。每日凌晨0点将日志文件归档保存为zip压缩包,每个压缩包最大50M,若压缩包文件大小超过50M,将会被保存为多个压缩包。最多保留最近
30天的归档日志文件。
logback-spring.xml配置文件如下图所示:
<configuration debug="false" scan="true" scanPeriod="10 seconds"> <!--<include resource="org/springframework/boot/logging/logback/base.xml"/>--> <!--<include resource="org/springframework/boot/logging/logback/console-appender.xml"/>--> <contextName>logback</contextName> <!--输出sql语句--> <logger name="com.xxx" level="debug"/> <property name="path" value="D:/log"></property> <property name="maxHistory" value="30"/> <property name="maxFileSize" value="50MB"/> <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>debug</level> </filter> <encoder> <pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n </pattern> </encoder> </appender> <appender name="debug_file" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${path}/logback_debug.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 每天一归档 --> <fileNamePattern>${path}/logback_debug.log.%d{yyyy-MM-dd}-%i.zip</fileNamePattern> <maxHistory>${maxHistory}</maxHistory> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>${maxFileSize}</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <encoder> <pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n </pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>DEBUG</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <appender name="info_file" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${path}/logback_info.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 每天一归档 --> <fileNamePattern>${path}/logback_info.log.%d{yyyy-MM-dd}-%i.zip</fileNamePattern> <maxHistory>${maxHistory}</maxHistory> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>${maxFileSize}</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <encoder> <pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n </pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>INFO</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <appender name="warn_file" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${path}/logback_warn.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 每天一归档 --> <fileNamePattern>${path}/logback_warn.log.%d{yyyy-MM-dd}-%i.zip</fileNamePattern> <maxHistory>${maxHistory}</maxHistory> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>${maxFileSize}</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <encoder> <pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n </pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>WARN</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <appender name="error_file" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${path}/logback_error.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 每天一归档 --> <fileNamePattern>${path}/logback_error.log.%d{yyyy-MM-dd}-%i.zip</fileNamePattern> <maxHistory>${maxHistory}</maxHistory> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>${maxFileSize}</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <encoder> <pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n </pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <root> <level value="info"/> <appender-ref ref="console"/> <appender-ref ref="debug_file"/> <appender-ref ref="info_file"/> <appender-ref ref="warn_file"/> <appender-ref ref="error_file"/> </root> </configuration>
相关文章推荐
- springboot 配置logback控制台彩色打印,按等级输出日志文件
- logback:输出日志到文件(滚动)&& Spring Boot干货系列:(七)默认日志logback配置解析(转载)
- (03) SpringBoot 日志文件使用(logback)
- 关于springboot的默认日志配置文件logback.xml
- SpringBoot中logback日志保存到mongoDB
- springboot2.0+log4jdbc将sql语句完整写入日志文件并分开 4000 保存
- SpringBoot 使用logback日志分级别生成文件
- spring boot 使用logback 保存日志
- Spring Boot 使用 logback、logstash、ELK 记录日志文件的方法
- SpringBoot中logback日志保存到mongoDB的方法
- 详解Spring Boot下使用logback 记录多个文件日志
- Spring Boot实战之配置使用Logback进行日志记录
- springboot使用logback将日志同步到mysql
- log4j日志配置文件及将日志根据不同的等级输入到不同的文件之中
- spring boot配置logback日志输出
- 日志文件分类-达到保存不同日志目的
- 52. spring boot日志升级篇—log4j多环境不同日志级别的控制【从零开始学Spring Boot】
- Spring Boot -- 日志配置 - logback 和 log4j2
- 54. spring boot日志升级篇—logback【从零开始学Spring Boot】
- Spring Boot在开发时实现热部署(开发时修改文件保存后自动重启应用)(spring-boot-devtools)