Log4j是款經典的日志工具,下面我介紹一下它的簡單使用。
1.下載Log4j.jar,并將它添加到工程的Libraries中。
2.在src下面新建文件log4j.properties,并設置編譯器,使其在運行時將log4j.properties拷貝到運行路行下。
3.在log4j.properties里面寫上如下內容:
##LOGGERS##
log4j.rootLogger=INFO,console,file
##APPENDERS##
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=d:\\log.txt
log4j.appender.file.MaxFileSize=1024KB
##LAYOUTS##
log4j.appender.console.layout=org.apache.log4j.SimpleLayout
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm} %t %p- %m%n
并保存。
4.在程序中像下面這樣使用:
package com.cn.test;
import org.apache.log4j.Logger;
import org.apache.log4j.LogManager;
public class LogTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Logger log=LogManager.getLogger("LogTest");
log.info("log4j:info msg");
log.warn("log4j:warn msg");
}
}
運行后你會發現在D:盤下多了一個log.txt,程序在log.txt與在控制臺輸出了相關的info,warn信息。
5:log4j.properties文件的配置相關說明:
log4j.rootLogger=INFO,console,file
上面這一句指出了日志信息的輸出級別為info,錯誤級別包括以下六種:FATAL、ERROR、WARN、INFO、DEBUG、TRACE
在具體的工程中常常是在開發階段,將級別設置為INFO或DEBUG,當完成開發后將級別設置為WARN或ERROR,想想如果沒有log4j我們是怎樣做的?
很多時候我們是用System.out.println();直接輸出到控制臺的,那么開發完成后你就得付出一點時間去注釋掉這些實際運行中沒用的代碼
那是一件很枯燥的事情。如果你用log4j來做這些,你只需將INFO改為WARN,那么所有的INFO信息將不再出現,是不是很棒?
console,file是設置日志信息的輸出位置,在這里分別輸出到console(控制臺),file(文件)兩個流中去。當然你也可以只讓其輸出到控制臺,
或者只輸出到文件中去。
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=d:\\log.txt
log4j.appender.file.MaxFileSize=1024KB
上面這幾句設置了appender的實現類,以及具體的參數。
//Log4j提供的appender有以下幾種:
//org.apache.log4j.ConsoleAppender(控制臺)
//org.apache.log4j.FileAppender(文件)
//org.apache.log4j.DailyRollingFileAppender(每天產生一個日志文件)
//org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產生一個新的文件),
可通過
log4j.appender.R.///MaxFileSize=100KB設置文件大小,還可通過
log4j.appender.R.MaxBackupIndex=1設置為保存一個備份文件
//org.apache.log4j.WriterAppender(將日志信息以流格式發送到任意指定的地方)
log4j.appender.console.layout=org.apache.log4j.SimpleLayout
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm} %t %p- %m%n
上面這幾行設定了日志輸出格式。