一、logback的介紹
Logback是由log4j創始人設計的另一個開源日志組件,官方網站: http://logback.qos.ch。它當前分為下面下個模塊:
- logback-core:其它兩個模塊的基礎模塊
- logback-classic:它是log4j的一個改良版本,同時它完整實現了slf4j API使你可以很方便地更換成其它日志系統如log4j或JDK14 Logging
- logback-access:訪問模塊與Servlet容器集成提供通過Http來訪問日志的功能
不多說直接上xml
logback.xml:
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- 從高到地低 OFF 、 FATAL 、 ERROR 、 WARN 、 INFO 、 DEBUG 、 TRACE 、 ALL -->
3 <!-- 日志輸出規則 根據當前ROOT 級別,日志輸出時,級別高於root默認的級別時 會輸出 -->
4 <!-- 以下每個配置的 filter 是過濾掉輸出文件里面,會出現高級別文件,依然出現低級別的日志信息,通過filter 過濾只記錄本級別的日志-->
5
6 <!-- 屬性描述 scan:性設置為true時,配置文件如果發生改變,將會被重新加載,默認值為true scanPeriod:設置監測配置文件是否有修改的時間間隔, 7 如果沒有給出時間單位,默認單位是毫秒。當scan為true時,此屬性生效。默認的時間間隔為1分鍾。 debug:當此屬性設置為true時,將打印出logback內部日志信息, 8 實時查看logback運行狀態。默認值為false。 -->
9 <configuration scan="true" scanPeriod="60 seconds" debug="false">
10 <!-- 定義參數常量 -->
11 <!-- logger.trace("msg" logger.debug... -->
12 <property name="log.level" value="debug"/>
13 <!-- 日志最大的歷史 30天 -->
14 <property name="log.maxHistory" value="30"/>
15 <!-- 定義日志文件 輸入位置 -->
16 <property name="log.filePath" value="${catalina.base}/logs/webapps"/>
17 <property name="log.pattern"
18 value="%d{yyyy-MM-dd HH:mm:ss:SSS}[%thread]%-5level%logger{50}-%msg%n"/>
19 <!-- 控制台設置,控制台輸出日志-->
20 <apperder name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">
21 <!-- 對日志進行格式化 -->
22 <encoder>
23 <pattern>${log.pattern}</pattern>
24 </encoder>
25 </apperder>
26 <!-- DEBAUG 級別的日志 -->
27 <!-- 滾動記錄文件,先將日志記錄到指定文件,當符合某個條件時,將日志記錄到其他文件 RollingFileAppender-->
28 <appender name="debugAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
29 <!-- 文件路徑 -->
30 <file>${log.filePath}/debug.log</file>
31 <!-- 最常用的滾動策略,它根據時間來制定滾動策略.既負責滾動也負責出發滾動 -->
32 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
33 <!-- 文件名稱 , 日志輸出位置 可相對、和絕對路徑 -->
34 <fileNamePattern>${log.filePath}/debug/debug.%d{yyyy-MM-dd}.log.gz</fileNamePattern>
35 <!-- 文件最大保存歷史數量 -->
36 <!-- 可選節點,控制保留的歸檔文件的最大數量,超出數量就刪除舊文件假設設置每個月滾動,且<maxHistory>是6, 37 則只保存最近6個月的文件,刪除之前的舊文件。注意,刪除舊文件是,那些為了歸檔而創建的目錄也會被刪除-->
38 <maxHistory>${log.maxHistory}</maxHistory>
39 </rollingPolicy>
40 <encoder>
41 <pattern>${log.pattern}</pattern>
42 </encoder>
43 <!-- 過濾器,只記錄INFO級別的日志 -->
44 <filter class="ch.qos.logback.classic.filter.LevelFilter">
45 <level>DEBUG</level>
46 <onMismatch>DENY</onMismatch>
47 </filter>
48 </appender>
49 <!-- INFO 級別的日志-->
50 <appender name="infoAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
51 <!-- 文件路徑 -->
52 <file>${log.filePath}/info.log</file>
53 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
54 <!-- 文件名稱-->
55 <fileNamePattern>${log.filePath}/info/info.%d{yyyy-MM-dd}.log.gz</fileNamePattern>
56 <!-- 文件最大保存歷史數量 -->
57 <maxHistory>${log.maxHistory}</maxHistory>
58 </rollingPolicy>
59 <encoder>
60 <pattern>${log.pattern}</pattern>
61 </encoder>
62
63 <filter class="ch.qos.logback.classic.filter.LevelFilter">
64 <level>INFO</level>
65 <onMismatch>DENY</onMismatch>
66 </filter>
67 </appender>
68 <!-- ERROR 級別的日志-->
69 <appender name="errorAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
70 <!-- 文件路徑 -->
71 <file>${log.filePath}/error.log</file>
72 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
73 <!-- 文件名稱 -->
74 <fileNamePattern>${log.filePath}/error/error.%d{yyyy-MM-dd}.log.gz</fileNamePattern>
75 <!-- 文件最大保存歷史數量 -->
76 <maxHistory>${log.maxHistory}</maxHistory>
77 </rollingPolicy>
78 <encoder>
79 <pattern>${log.pattern}</pattern>
80 </encoder>
81 <filter class="ch.qos.logback.classic.filter.LevelFilter">
82 <level>ERROR</level>
83 <onMismatch>DENY</onMismatch>
84 </filter>
85 </appender>
86 <logger name="com.susu.o2o" level="${log.level}" additivity="true">
87 <!-- 文件輸出 -->
88 <appender-ref ref="debugAppender"/>
89 <appender-ref ref="infoAppender"/>
90 <appender-ref ref="errorAppender"/>
91 </logger>
92 <!-- root級別 DEBUG -->
93 <root level="info">
94 <!-- 控制台輸出 -->
95 <appender-ref ref="consoleAppender"/>
96 </root>
97 </configuration>
配置好了之后啟動tomcat服務器
找到這個文件地址,根據個人存放地址。
就有這三個文本了
想詳細了解logback,推薦博客文章:
https://www.cnblogs.com/warking/p/5710303.html
https://www.cnblogs.com/gslyyq/p/5256789.html