转载自:https://www.jianshu.com/p/43c31c28e766
下面是根据网上总结logback.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!--【配置日志文件】-->
<!--scan定时扫描是否开启,scanPeroid定时扫描周期,默认60000ms,
单位还可以是milli/millisecond/second/seconde/minute/hour/day,
debug是否开启内部日志-->
<configuration scan="true" scanPeroid="600 seconds" debug="true">
<!-- 存储日志文件路径,自定义绝对路径 -->
<property name="FILE_PATH" value="E:/LOG/hlbb_Log" />
<!--日志输出到控制台-->
<!--appender日志组件,name指定appender的名称,class属性指定appender的实现类-->
<appender name="stout" class="ch.qos.logback.core.ConsoleAppender">
<encoder charset="UTF-8">
<pattern> <!--日志格式化-->
%d{yyyy-MM-dd HH:mm:ss.SSS} |%-5level |%class |%thread |%method |%line |%msg%n
</pattern>
</encoder>
</appender>
<!-- 以滚动方式生产日志文件-->
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--日志名称,如果没有File 属性,那么只会使用FileNamePattern的文件路径规则
如果同时有<File>和<FileNamePattern>,那么当天日志是<File>,明天会自动把今天
的日志改名为今天的日期。即,<File> 的日志都是当天的。-->
<file>${FILE_PATH}/info.log</file>
<rollingPoliy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${FILE_PATH}/error.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<!--保留30天的日志-->
<MaxHistory>30</MaxHistory>
<!-- 除按日志记录之外,还配置了日志文件不能超过2M,若超过2M,日志文件会以索引0开始
,命名日志文件,例如error-2018-06-10.0.log -->
<TimeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>2M</maxFileSize>
</TimeBasedFileNamingAndTriggeringPolicy>
<!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志-->
<!--<totalSizeCap>1GB</totalSizeCap>-->
</rollingPoliy>
<encoder>
<charset>UTF-8</charset>
<pattern>${PATTERN}</pattern>
</encoder>
<!-- 日志的过滤级别。只想要error级别的,设置如下-->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!--小于error被过滤-->
<level>ERROR</level>
<!--匹配到就允许-->
<onMatch>ACCEPT</onMatch>
<!--没有匹配到就不允许-->
<onMismatch>DENY</onMismatch>
</filter>
<!--不同的开发环境,对于不同的日志。 test/dev/pro一般来说就是这三种,
appender-ref ref有两个映射:日志文件存储的地方,日志文件生产的方式-->
<!-- <!–测试环
境–>-->
<!-- <springProfile name="test">-->
<!-- <!–<root level="TRACE">–>-->
<!-- <root level="INFO">-->
<!-- <appender-ref ref="stout" />-->
<!-- <appender-ref ref="file"/>-->
<!-- <appender-ref ref="CONSOLE"/>-->
<!-- </root>-->
<!-- </springProfile>-->
<!-- <!–开发环境–>-->
<!-- <springProfile name="dev">-->
<!-- <root level="DEBUG">-->
<!-- <appender-ref ref="ERRORFILE" />-->
<!-- <appender-ref ref="INFOFILE"/>-->
<!-- </root>-->
<!-- </springProfile>-->
<!-- <!–生产环境–>-->
<!-- <springProfile name="pro">-->
<!-- <root level="ERROR">-->
<!-- <appender-ref ref="ERRORFILE" />-->
<!-- <appender-ref ref="INFOFILE"/>-->
<!-- </root>-->
<!-- </springProfile>-->
<!-- <!–具体个性化某个Controller或者某个包下使用指定级别的日志输出–>-->
<!-- <logger name="com.black.example.*" level="INFO"/>-->
<!-- <logger name="org.springframework.web" level="DEBUG"/>-->
</appender>
</configuration>