Log4j自己配
Log4j
主要由三大部分:
1??????
公共類
Logger :
負責處理日志記錄的大部分操作。
?
2??????
公共接口
Appender :
負責控制日志記錄的輸出部分。它提供了多種輸出目標。
2.1.1?
FileAppender???????
輸出到文本
2.1.2?
ConsoleAppender????
輸出到控制臺
2.1.3?????
SMTPAppender???????
輸出到郵件
2.1.4?
JDBCAppender??????
輸出到數據庫
3??????
布局
Layout :
負責格式化
Appender
輸出。有三種布局模式:
3.1?????
SimpleLayout :
簡單格式
「
DEBUG - Here is some DEBUG
」
的日志輸出。
3.2?????
HTMLLayout :
以
HTML
表格輸出。
3.3?????
PatternLayout :
自定義格式化的日志輸出。打印參數如下:
3.3.1?
%m
輸出代碼中指定的消息
3.3.2?
%p
輸出優先級,即
DEBUG
,
INFO
,
WARN
,
ERROR
,
FATAL
3.3.3?
%r
輸出自應用啟動到輸出該
log
信息耗費的毫秒數
3.3.4?
%c
輸出所屬的類目,通常就是所在類的全名
3.3.5?
%t
輸出產生該日志事件的線程名
3.3.6?
%n
輸出一個回車換行符,
Windows
平臺為“
\r\n”
,
Unix
平臺為“
\n”
3.3.7?
%d
輸出日志時間點的日期或時間,默認格式為
ISO8601
,也可以在其后指定格式,比如:
%d{yyy MMM dd HH:mm:ss,SSS}
,輸出類似:
2002
年
10
月
18
日
22
:
10
:
28
,
921
?
log4j.properties 的配置如下:
####?R是輸出到log , cmd是輸出到控制臺 , htm輸出到HTML
log4j.rootCategory = debug , ?R , ?cmd , ?htm
##控制臺輸出
log4j.appender.cmd = org.apache.log4j.ConsoleAppender
#布局格式
log4j.appender.cmd.layout = org.apache.log4j.PatternLayout
log4j.appender.cmd.layout.ConversionPattern = ?%-2r? [ %t ] ?%-6p?%c?-?%m%n
##控制臺輸出
log4j.appender.htm = org.apache.log4j.FileAppender
log4j.appender.htm.File = example.html
log4j.appender.htm.layout = org.apache.log4j.HTMLLayout
##log格式輸出
#log4j.appender.R = org.apache.log4j.FileAppender
#log4j.appender.R = org.apache.log4j.DailyRollingFileAppender
log4j.appender.R = org.apache.log4j.RollingFileAppender
log4j.appender.R.File = test.log
#最大日志大小
log4j.appender.R.MaxFileSize = 100KB???
#最大備份數
log4j.appender.R.MaxBackupIndex = 1 ????
log4j.appender.R.layout = org.apache.log4j.SimpleLayout
代碼如下:
import ?java.io.File;
import ?org.apache.log4j.Logger;
import ?org.apache.log4j.PropertyConfigurator;
public ? class ?Log4jTest?{
????
???? static ?{
???????? // ?自動快速地使用缺省Log4j環境。
???????? // ?BasicConfigurator.configure();
???????? // ?讀取使用Java的特性文件編寫的配置文件。
???????? // ?PropertyConfigurator.configure?("/WEB-INF/log4j.properties");
???????? // ?讀取XML形式的配置文件。
???????? // ?DOMConfigurator.configure?("/WEB-INF/log4j.xml");
????????String?file? = ? new ?String( " E:/project?by?eclipse/test/com/hmy/Log4JTest/log4j.properties " );??????????????
???????? if ?(file? != ? null )?{
????????????PropertyConfigurator.configure(file);
????????}
????}
????
???? static ?Logger?logger? = ?Logger.getLogger(Log4jTest. class );
????
???? public ? static ? void ?main(String[]?aaa)?{
??????????logger.debug( " Here?is?some?DEBUG " );
??????????logger.info( " Here?is?some?INFO " );
??????????logger.warn( " Here?is?some?WARN " );
??????????logger.error( " Here?is?some?ERROR " );
??????????logger.fatal( " Here?is?some?FATAL " );
????}
}
下面是網上找的一個配置文件,擇其一二使用就夠用了。
log4j.rootLogger=DEBUG,CONSOLE,A1,im
log4j.addivity.org.apache=true
?
#?應用于控制臺
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.Threshold=DEBUG
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=[framework]?%d?-?%c?-%-4r?[%t]?%-5p?%c?%x?-?%m%n
#log4j.appender.CONSOLE.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]?n%c[CATEGORY]%n%m[MESSAGE]%n%n
#應用于文件
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=file.log
log4j.appender.FILE.Append=false
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=[framework]?%d?-?%c?-%-4r?[%t]?%-5p?%c?%x?-?%m%n
#?Use?this?layout?for?LogFactor?5?analysis
#?應用于文件回滾
log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender
log4j.appender.ROLLING_FILE.Threshold=ERROR
log4j.appender.ROLLING_FILE.File=rolling.log
log4j.appender.ROLLING_FILE.Append=true
log4j.appender.ROLLING_FILE.MaxFileSize=10KB
log4j.appender.ROLLING_FILE.MaxBackupIndex=1
log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework]?%d?-?%c?-%-4r?[%t]?%-5p?%c?%x?-?%m%n
#應用于socket
log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender
log4j.appender.SOCKET.RemoteHost=localhost
log4j.appender.SOCKET.Port=5001
log4j.appender.SOCKET.LocationInfo=true
#?Set?up?for?Log?Facter?5
log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout
log4j.appender.SOCET.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%n
#?Log?Factor?5?Appender
log4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appender
log4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000
#?發送日志給郵件
log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
log4j.appender.MAIL.Threshold=FATAL
log4j.appender.MAIL.BufferSize=10
log4j.appender.MAIL.From=web@www.wuset.com
log4j.appender.MAIL.SMTPHost=www.wusetu.com
log4j.appender.MAIL.Subject=Log4J?Message
log4j.appender.MAIL.To=web@www.wusetu.com
log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
log4j.appender.MAIL.layout.ConversionPattern=[framework]?%d?-?%c?-%-4r?[%t]?%-5p?%c?%x?-?%m%n
#?用于數據庫
log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test
log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver
log4j.appender.DATABASE.user=root
log4j.appender.DATABASE.password=
log4j.appender.DATABASE.sql=INSERT?INTO?LOG4J?(Message)?VALUES?('[framework]?%d?-?%c?-%-4r?[%t]?%-5p?%c?%x?-?%m%n')
log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout
log4j.appender.DATABASE.layout.ConversionPattern=[framework]?%d?-?%c?-%-4r?[%t]?%-5p?%c?%x?-?%m%n
log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.File=SampleMessages.log4j
log4j.appender.A1.DatePattern=yyyyMMdd-HH'.log4j'
log4j.appender.A1.layout=org.apache.log4j.xml.XMLLayout
#自定義Appender
log4j.appender.im?=?net.cybercorlin.util.logger.appender.IMAppender
log4j.appender.im.host?=?mail.cybercorlin.net
log4j.appender.im.username?=?username
log4j.appender.im.password?=?password
log4j.appender.im.recipient?=?corlin@cybercorlin.net
log4j.appender.im.layout=org.apache.log4j.PatternLayout
log4j.appender.im.layout.ConversionPattern?=[framework]?%d?-?%c?-%-4r?[%t]?%-5p?%c?%x?-?%m%n
?
?
posted on 2006-04-12 10:30 瘋流成性 閱讀(376) 評論(0) 編輯 收藏 所屬分類: j2se