1. 程式人生 > >怎樣讓Intellij IDEA工程中輸出日誌資訊

怎樣讓Intellij IDEA工程中輸出日誌資訊

Intellij IDEA中使用log4j日誌

一、在pom.xml中新增依賴

 <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>

二、新建log4j.properties檔案,將該檔案放在resources目錄下。

### 設定###
log4j.rootLogger = debug,stdout,D,E

### 輸出資訊到控制擡 ###
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 = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

### 輸出DEBUG 級別以上的日誌到=E://logs/error.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = E://logs/debug.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

### 輸出ERROR 級別以上的日誌到=E://logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =E://logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]

或者 (我自己使用的log4j.properties)

### set log levels ###
#log4j.rootLogger = debug , stdout , D , E
log4j.rootLogger=DEBUG,INFO,WARN,stdout,logfile
###? output to the console ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.
appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n ### Output to the log file ### log4j.appender.logfile=org.apache.log4j.RollingFileAppender log4j.appender.logfile.File=log/log.log log4j.appender.logfile.MaxFileSize=128MB log4j.appender.logfile.MaxBackupIndex=3 log4j.appender.logfile.layout=
org.apache.log4j.PatternLayout log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p [%t] %c.%M(%L) - %m%n

三、將log4j.properties檔案放入該工程的resources資原始檔

然後將log4j.properties檔案放入該工程的resources資原始檔下,方便系統解析該日誌配置檔案項;
提示:如果沒有resource目錄
則在File->Project Structure -> Modules->右側的Sources選項卡下->在專案中右鍵新建resources資料夾->並點選Mark as Resource->應用並確認;

最後,直接運行當前工程,便可以看到各種日誌級別的輸出;


補充知識:
這不同的級別的含義大家都很容易理解,這裡就簡單介紹一下:
trace: 是追蹤,就是程式推進以下,你就可以寫個trace輸出,所以trace應該會特別多,不過沒關係,我們可以設定最低日誌級別不讓他輸出。
debug: 除錯麼,我一般就只用這個作為最低級別,trace壓根不用。是在沒辦法就用eclipse或者idea的debug功能就好了麼。
info: 輸出一下你感興趣的或者重要的資訊,這個用的最多了
warn: 有些資訊不是錯誤資訊,但是也要給程式設計師的一些提示,類似於eclipse中程式碼的驗證不是有error 和warn(不算錯誤但是也請注意,比如以下depressed的方法)。
error: 錯誤資訊。用的也比較多。
fatal: 級別比較高了。重大錯誤,這種級別你可以直接停止程式了,是不應該出現的錯誤麼