因為是剛開始使用log4j,很多配置方面的東西都不懂,記錄下。
下面是我用STS(Spring Tool Suite)新建Spring MVC項目的時候,幫我自動生成的一個log4j.xml配置文件。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
<?xml version= "1.0" encoding= "UTF-8" ?> <!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd" > <log4j:configuration xmlns:log4j= "http://jakarta.apache.org/log4j/" > <!-- Appenders --> <appender name= "console" class = "org.apache.log4j.ConsoleAppender" > <param name= "Target" value= "System.out" /> <layout class = "org.apache.log4j.PatternLayout" > <param name= "ConversionPattern" value= "%-5p: %c - %m%n" /> </layout> </appender> <!-- Application Loggers --> <logger name= "com.shanshan.test" > <level value= "info" /> </logger> <!-- 3rdparty Loggers --> <logger name= "org.springframework.core" > <level value= "info" /> </logger> <logger name= "org.springframework.beans" > <level value= "info" /> </logger> <logger name= "org.springframework.context" > <level value= "info" /> </logger> <logger name= "org.springframework.web" > <level value= "info" /> </logger> <!-- Root Logger --> <root> <priority value= "warn" /> <appender-ref ref= "console" /> </root> </log4j:configuration> |
我要說的就是Appenders中的配置內(nèi)容
輸出方式:
org.apache.log4j.ConsoleAppender | 控制臺 |
org.apache.log4j.FileAppender | 文件 |
org.apache.log4j.DailyRollingFileAppender | 每天產(chǎn)生一個日志文件 |
org.apache.log4j.RollingFileAppender | 文件大小到達指定尺寸的時候產(chǎn)生一個新的文件 |
org.apache.log4j.WriterAppender | 將日志信息以流格式發(fā)送到任意指定的地方 |
PatternLayout配置:
配置 |
說明 | 舉例 | ||
%c | 輸出所屬的類目,通常就是所在類的全名。后面還可以帶一個十進制的參數(shù),限制輸出類目的層級,默認輸出完整類目。 | %c | org.apache.log4j.PatternLayout | |
%c{2} | log4j.PatternLayout | |||
%C | 調(diào)用logger的類的類目。后面還可以帶一個十進制的參數(shù),限制輸出類目的層級,默認輸出完整類目。 | %C | org.apache.log4j.PatternLayout | 處理較慢,謹(jǐn)慎使用 |
%C{1} | PatternLayout | |||
%d | 輸出日志記錄的時間,后面可以帶日期格式的參數(shù),參數(shù)編碼默認為ISO8601,日期格式參考SimpleDateFormat | %d | 2017-04-18 09:23:56,561 | |
%d{yyyy-MM-dd HH:mm:ss SSS} | 2017-04-18 09:23:56 561 | |||
%d{ABSOLUTE} | 09:23:56,561 | |||
%d{DATE} | 18 四月 2017 09:23:56,561 | |||
%d{ISO8601} | 2017-04-18 09:23:56,561 | |||
%F | 顯示調(diào)用logger的源文件名 | HomeController.java | 處理較慢,謹(jǐn)慎使用 | |
%l | 輸出日志事件的發(fā)生位置,包括類目名、發(fā)生的線程,以及在代碼中的行數(shù) | com.shanshan.bo.HomeController.border(HomeController.java:155) | ||
%L | 顯示調(diào)用logger的代碼行數(shù) | 處理較慢,謹(jǐn)慎使用 | ||
%m | 輸出代碼中指定的信息 | |||
%M | 顯示調(diào)用logger的方法名 | main | 處理較慢,謹(jǐn)慎使用 | |
%n | 當(dāng)前系統(tǒng)下的換行符 | |||
%p | 顯示該條日志的優(yōu)先級 | INFO | ||
%r | 顯示從程序啟動時到記錄該條日志時已經(jīng)經(jīng)過的毫秒數(shù) | |||
%t | 輸出產(chǎn)生該日志事件的線程名 | tomcat-http--38 | ||
%x | 按NDC(Nested Diagnostic Context,線程堆棧)順序輸出日志 | |||
%X | 按MDC(Mapped Diagnostic Context,線程映射表)輸出日志。通常用于多個客戶端連接同一臺服務(wù)器,方便服務(wù)器區(qū)分是那個客戶端訪問留下來的日志。 | |||
%% | 輸出一個百分號 |
通用格式配置:
配置 | 對齊方式 | 最小長度 | 最大長度 | 說明 |
%20c | right | 20 | 若名字空間長度小于20,則左邊用空格填充 | |
%-20c | left | 20 | 若名字空間長度小于20,則右邊用空格填充 | |
%.30c | 30 | 若名字空間長度超過30,截去多余字符 | ||
%20.30c | right | 20 | 30 | 若名字空間長度小于20,則左邊用空格填充;若名字空間長度超過30,截去多余字符 |
%-20.30c | left | 20 | 30 | 若名字空間長度小于20,則右邊用空格填充;若名字空間長度超過30,截去多余字符 |
以上這篇log4j的Appenders配置方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持服務(wù)器之家。