http://logging.apache.org/
1 導入log4j的jar包
2 在scr下創建log4j.properties
log4j.properties
//輸入級別debug<info<warn<error
log4j.rootLogger=debug[info][warn][error],appender1
//ConsoleAppender輸出到控制臺,FileAppender輸出到文件
log4j.appender.appender1=org.apache.log4j.ConsoleAppender[FileAppender]
//寫出的目標文件
log4j.appender.appender1.File=c:/demllog4j.log[.html]
//寫入文件的格式
log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout[HTMLLayout]
例1,控制臺輸出:
log4j.rootLogger=debug,appender1
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout
例2,輸出到.log文件:
log4j.rootLogger=debug,appender1
log4j.appender.appender1=org.apache.log4j.FileAppender
log4j.appender.appender1.File=c:/demllog4j.log
log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout
例3,輸出到.html文件:
log4j.appender.appender1=org.apache.log4j.FileAppender
log4j.appender.appender1.File=c:/demllog4j.html
log4j.appender.appender1.layout=org.apache.log4j.HTMLLayout
例4,輸出到.html文件同時輸出到控制臺:
log4j.rootLogger=error,appender1,appender2
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
log4j.appender.appender2=org.apache.log4j.FileAppender
log4j.appender.appender2.File=c:/demllog4j.html
log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout
log4j.appender.appender2.layout=org.apache.log4j.HTMLLayout
例5,為不同類定義輸出格式
log4j.rootLogger=debug,appender1
#log4j.logger.com.liuwei=info,appender1
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
log4j.appender.appender1.layout=org.apache.log4j.PatternLayout
log4j.appender.appender1.layout.ConversionPattern=%r [%t] %p - %c - %l - %m%n
3 編寫代碼
public class Test {
//參數為當前類的類名,得到logger
private static Logger logger=Logger.getLogger(Test.class);
public static void main(String[] args) {
//輸出信息
//if(log.isDebugEnabled()){
logger.debug("sssssssss");
logger.info("ssssssss");
logger.error("ssssssssss");
//}
}
}
--------------------------------------------------------------------
log4j核心
1 Logger 完成日志信息的處理
輸出級別:
debug 錯誤信息 if(log.isDebugEnabled()){log.debug("x="+x);}
info 日常信息 if(log.isDebugEnabled()){log.info("System started at"+new Date());}
warn 警告信息 if(log.isDebugEnabled()){log.warn("Server down-returnning");}
error 程序出錯信息 if(log.isDebugEnabled()){log.error("Could not access server",e);}
2 Appender 設置日志信息的去向
org.apache.log4j.ConsoleAppender(控制臺)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天產生一個日志文件)
org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸時產生一個新的文件)
org.apache.log4j.WriterAppender(將日志訊息以串流格式發送到任意指定的地方)
org.apache.log4j.JdbcAppender(將日志訊息保存到數據庫中)
3 Layout 設置日志信息的輸出樣式
org.apache.log4j.HTMLLayout (以HTML表格形式布局)
org.apache.log4j.SimpleLayout (包含日志訊息的級別和訊息字符串)
org.apache.log4j.TTCCLayout (包含日志產生的時間、執行者、類別等等訊息)
org.apache.log4j.PatternLayout (可以靈活地指定布局模式)
PatternLayout:
-%p 輸出優先級,即debug,info,warn,error
-%r 輸出自應用啟到到輸出該日志訊息所耗費的毫秒數
-%t 輸出產生該日志事件的線程名
-%f 輸出日志訊息所屬的類的類別名
-%c 輸出日志訊息所屬的類的全名
-%d 輸出日志時間點的日期或時間,指定格式的方式:%d{yyyy-MM-dd HH:mm:ss}
-%l 輸出日志訊息所屬發生位置,即輸出日志訊息的語句處于它所在的類別的第幾行
-%m 輸出代碼中指定的訊息,如log(message)中的message
-%n 輸出一個換行符號
配置文件
log4j.properties/log4j.xml
posted on 2009-11-29 22:34
junly 閱讀(312)
評論(0) 編輯 收藏 所屬分類:
other