logback.xml 实例

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <configuration debug="false" scan="true" scanPeriod="30 minutes">
 3 
 4     <!-- ==================================================================================== -->
 5     <property name="logDir" value="logs/" />
 6     <!-- 打印到控制台 -->
 7     <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
 8         <encoder>
 9             <pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level-%logger{5} - %msg%n</pattern>
10         </encoder>
11     </appender>
12 
13     <!-- ==================================================================================== -->
14     <appender name="infolog" class="ch.qos.logback.core.rolling.RollingFileAppender">
15         <filter class="ch.qos.logback.classic.filter.LevelFilter">
16             <level>INFO</level>
17             <onMatch>ACCEPT</onMatch>   
18             <onMismatch>DENY</onMismatch>   
19         </filter>
20         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
21             <fileNamePattern>${logDir}/info/log.%d{yyyy-MM-dd.HH}.%i.log.gz
22             </fileNamePattern>
23             <!-- 限制文件最大保存时间为15天; 15*24=360 -->
24             <maxHistory>360</maxHistory>
25             <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
26                 <!-- 当文件大小超过60M时触发滚动,这里设置60M -->
27                 <maxFileSize>60MB</maxFileSize>
28             </timeBasedFileNamingAndTriggeringPolicy>
29         </rollingPolicy>
30         <encoder>
31             <pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level-%logger{5} - %msg%n</pattern>
32         </encoder>
33     </appender>
34 
35     <appender name="debuglog" class="ch.qos.logback.core.rolling.RollingFileAppender">
36         <filter class="ch.qos.logback.classic.filter.LevelFilter">
37             <level>DEBUG</level>
38             <onMatch>ACCEPT</onMatch>
39             <onMismatch>DENY</onMismatch>
40         </filter>
41         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
42             <fileNamePattern>${logDir}/debug/log.%d{yyyy-MM-dd.HH}.%i.log.gz
43             </fileNamePattern>
44             <!-- 限制文件最大保存时间为15天; 15*24=360 -->
45             <maxHistory>360</maxHistory>
46             <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
47                 <!-- 当文件大小超过60M时触发滚动,这里设置60M -->
48                 <maxFileSize>60MB</maxFileSize>
49             </timeBasedFileNamingAndTriggeringPolicy>
50         </rollingPolicy>
51         <encoder>
52             <pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level-%logger{5} - %msg%n</pattern>
53         </encoder>
54     </appender>
55 
56     <appender name="errorlog" class="ch.qos.logback.core.rolling.RollingFileAppender">
57         <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
58             <level>WARN</level>
59         </filter>
60         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
61             <fileNamePattern>${logDir}/error/log.%d{yyyy-MM-dd.HH}.%i.log.gz
62             </fileNamePattern>
63             <!-- 限制文件最大保存时间为15天; 15*24=360 -->
64             <maxHistory>360</maxHistory>
65             <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
66                 <!-- 当文件大小超过60M时触发滚动,这里设置60M -->
67                 <maxFileSize>60MB</maxFileSize>
68             </timeBasedFileNamingAndTriggeringPolicy>
69         </rollingPolicy>
70         <encoder>
71             <pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level-%logger{5} - %msg%n</pattern>
72         </encoder>
73     </appender>
74 
75 
76     <!-- 异步日志配置 -->
77     <appender name="infolog_async" class="ch.qos.logback.classic.AsyncAppender">
78         <discardingThreshold>5000</discardingThreshold>
79         <queueSize>50000</queueSize>
80         <appender-ref ref="infolog" />
81     </appender>
82 
83     <appender name="errorlog_async" class="ch.qos.logback.classic.AsyncAppender">
84         <discardingThreshold>5000</discardingThreshold>
85         <queueSize>50000</queueSize>
86         <appender-ref ref="errorlog" />
87     </appender>
88 
89 
90     <root level="debug">
91         <appender-ref ref="stdout" />
92         <appender-ref ref="debuglog" />
93         <appender-ref ref="infolog_async" />
94         <appender-ref ref="errorlog_async" />
95     </root>
96 
97 
98 </configuration>

 

posted on 2015-07-01 15:36  empireghost  阅读(2011)  评论(0编辑  收藏  举报

导航