關於log4j的配置與參數詳解


log4j配置:

pom.xml

 1 <properties>
 2     ...
 3     <slf4j.version>1.7.21</slf4j.version>
 4     <log4j.version>1.2.17</log4j.version>
 5     ...
 6  </properties>
 7 
 8 <dependencies>
 9 ...
10 <!-- 日志文件管理包 -->
11     <!-- log start -->
12     <dependency>
13       <groupId>log4j</groupId>
14       <artifactId>log4j</artifactId>
15       <version>${log4j.version}</version>
16     </dependency>
17     <dependency>
18       <groupId>org.slf4j</groupId>
19       <artifactId>slf4j-api</artifactId>
20       <version>${slf4j.version}</version>
21     </dependency>
22 
23     <dependency>
24       <groupId>org.slf4j</groupId>
25       <artifactId>slf4j-log4j12</artifactId>
26       <version>${slf4j.version}</version>
27     </dependency>
28 ...
29 </dependencies>

log4j.properties

#定義LOG輸出級別
log4j.rootLogger=INFO,Console,File
#定義日志輸出目的地為控制台
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
#可以靈活地指定日志輸出格式,下面一行是指定具體的格式
log4j.appender.Console.layout = org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n

#文件大小到達指定尺寸的時候產生一個新的文件
log4j.appender.File = org.apache.log4j.RollingFileAppender
#指定輸出目錄
log4j.appender.File.File = /home/matto/IdeaProjects/WorkSpaceGit/TestMaven/logs/ssm.log
#定義文件最大大小
log4j.appender.File.MaxFileSize = 10MB
# 輸出所以日志,如果換成DEBUG表示輸出DEBUG以上級別日志
log4j.appender.File.Threshold = ALL
log4j.appender.File.layout = org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n

#另一種,我常用 。。。
log4j.rootLogger=DEBUG, A1
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=>>> %d %5p [%t] (%F:%L) - %m%n
log4j.appender.A1.DatePattern='.'yyyy-MM-dd
log4j.appender.A1=org.apache.log4j.ConsoleAppender

 

參數詳解:

log4j配置解釋1:

 ###把日志信息輸出到控制台###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}%m%n

###把日志信息輸出到文件:test.log###
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=test.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}%m%n

###設置優先級別、以及輸出源###
log4j.rootLogger=debug,stdout,file

 

配置解釋:
log4j充許日志請求被輸出到多個輸出源,一個輸出源被稱做一個appender。上面有兩個appender,第一個命名為stdout,使用了ConsoleAppender,
通過配置Target屬性,把日志信息寫到控制台,其效果等同於直接把信息打印到System.out上了。第二個appender命名為file,使用了
FileAppender,通過配置File屬性,把日志信息寫到指定的文件(test.log)中。
layout指定了日志信息輸出的樣式。上面兩種輸出都使用了PatternLayout,可以靈活地指定布局模式。但是要配置layout.ConversionPattern屬性,
其中:%d{yyyy-MM-dd HH:mm:ss}用來設置輸出日志的時間,輸出格式類似於2009-05-13 09:00:00 ;%m用來輸出代碼中指定的消息;%n用來輸出一個回車符;
%l用來輸出日志事件的發生位置,包括類名、發生的線程,以及在代碼中的行數。例如:如果輸出為Java.ch04.TestLog4j.min(TestLog4j.java:12),
說明日志事件發生在TestLog4j類中的main線程中,在代碼中的行數為第12行。
日志信息具有輸出優先級,優先級從高到低分別是FATA、error、warn、info、debug。上面最后一句設置優先級別為debug,並且設置日志被分別輸出到控制台以及
test.log文件中。

 

-------------------------------------------------------------------------------------------------------------------------------------------------

 

log4j配置解釋2:

#log4j.rootLogger=DEBUG,A1,R
### 設置優先級別(fata、error、warn、debug、info)、以及輸出源(控制台、文件) ###
log4j.rootLogger=INFO,A1,R
### 把日志信息輸出到控制台 ###
### A1,R輸出源名稱 ###
### ConsoleAppender:把日志信息寫到控制台 ###
log4j.appender.A1=org.apache.log4j.ConsoleAppender
### 輸出樣式 布局模式###
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
### %c:包名.文件名。%p:輸出級別,%m:輸出代碼中指定的消息,%n:輸出一個回車換行符,%l:輸出日志信息發生的位置,包括類名、發生的線程、行數 ,%t輸出一個制表符###
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n

### RollingFileAppender:把日志信息循環滾動寫到文件,FileAppender:把日志信息寫到文件###
log4j.appender.R=org.apache.log4j.RollingFileAppender
### 設置日志信息文件名為bbscs7log.txt ###
log4j.appender.R.File=bbscs7log.txt
### 設置日志信息文件大小為500KB ###
log4j.appender.R.MaxFileSize=500KB
### 設置日志信息文件總數最多為10個 ###
log4j.appender.R.MaxBackupIndex=10
### 輸出樣式 布局模式###
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d%d%d%d%d%d%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n

#log4j.logger.org.springframework.transaction.interceptor=DEBUG


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM