log4j配置文件详解------自学
先來個配置文件----
log4j.rootLogger=debug,stdout,logfile log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.err log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout log4j.appender.logfile=org.apache.log4j.FileAppender log4j.appender.logfile.File=d:/msb.log log4j.appender.logfile.layout=org.apache.log4j.PatternLayout log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l %F %p %m%n日志內(nèi)容之外的要求----
1,log4j的配置文件格式為 .properties,必須命名為
log4j.properties不然會讀取配置文件失敗;
2,標(biāo)準(zhǔn)格式時鍵值對來保存配置內(nèi)容----key=value;
3,習(xí)慣將log4j.properties文件放在根目錄下,因為默認(rèn)情況下, 查找 日志配置文件是在CLASSPATH中查找名為log4j.properties的文件。
日志內(nèi)容要求------
log4j.rootLogger----->表示日志記錄的級別以及記錄方式
log4j.rootLogger=debug,stdout,logfile----->日志記錄級別為debug,輸出方式為兩種stdout,logfile(兩種方式需要自己指定;)
日志記錄級別----的優(yōu)先級
fatal:出現(xiàn)非常嚴(yán)重的錯誤事件,這些事件可能導(dǎo)致程序異常終止
error:雖有錯誤,但允許應(yīng)用程序繼續(xù)運(yùn)行
warn:運(yùn)行環(huán)境潛藏著危害
info:報告信息
debug:細(xì)粒度的信息事件,對應(yīng)于程序的調(diào)試;
每種級別包含他之上的級別;
即輸出級別error包含fatal, debug包含上述所有級別
log4j.appender.stdout =-------表示輸出方式
log4j.appender.stdout=org.apache.log4j.ConsoleAppender ------->在控制臺輸出
log4j.appender.stdout.Target=System.err---->>>表示輸出信息為系統(tǒng)error
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout----->>表示輸出格式為簡單的格式
同理可以理解----
log4j.appender.logfile=org.apache.log4j.FileAppender---->>輸出位置在日志文件中
log4j.appender.logfile.File=d:/msb.log ----->>指定日志文件位置
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout---->>>輸出格式-----指定格式
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l %F %p %m%n ----->>>定義指定的格式
log4j.properties語法:
##Define the root logger with appender X log4j.rootLogger = DEBUG, X ##Set the appender named X to be a File appender log4j.appender.X=org.apache.log4j.FileAppender ##Define the layout for X appender log4j.appender.X.layout=org.apache.log4j.PatternLayout log4j.appender.X.layout.conversionPattern=%m%nlog4j.appender.X.中只要保證X一致即可,并非一定要使用 stdout和logfile 不過見名知意是最好的;
不過日常使用中一般不自己寫而是直接到官網(wǎng)找到相關(guān)配置文件復(fù)制粘貼,然后改改就可以自己用了;
將log4j.properties配置文件的輸出記錄到控制臺。
將log4j.properties配置文件的輸出記錄到日志文件。
log4j.rootLogger=debug,logfile log4j.appender.logfile=org.apache.log4j.FileAppender log4j.appender.logfile.File=d:/msb.log log4j.appender.logfile.layout=org.apache.log4j.PatternLayout log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l %F %p %m%n也可以同時記錄,不過一般是按需所求,用戶不需要看到某些錯誤信息,只給用戶該看的就可以了;
再接觸到xml之后,也可以用xml取完成配置文件-----
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration debug="true"xmlns:log4j="http://jakarta.apache.org/log4j/"><appender name="console" class="org.apache.log4j.ConsoleAppender"><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" /></layout></appender><root><level value="DEBUG" /><appender-ref ref="console" /></root> </log4j:configuration> <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration debug="true"xmlns:log4j="http://jakarta.apache.org/log4j/"><appender name="file" class="org.apache.log4j.RollingFileAppender"><param name="append" value="false" /><param name="maxFileSize" value="10KB" /><param name="maxBackupIndex" value="5" /><!-- For Tomcat --><param name="file" value="${catalina.home}/logs/my.log" /><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" /></layout></appender><root><level value="ERROR" /><appender-ref ref="file" /></root></log4j:configuration>最后整合一個標(biāo)準(zhǔn)的
# Root logger option log4j.rootLogger=INFO, file, stdout# Direct log messages to a log file log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.File=C:\\my.log log4j.appender.file.MaxFileSize=10MB log4j.appender.file.MaxBackupIndex=10 log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n# Direct log messages to stdout 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} %-5p %c{1}:%L - %m%n <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration debug="true"xmlns:log4j="http://jakarta.apache.org/log4j/"><appender name="console" class="org.apache.log4j.ConsoleAppender"><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" /></layout></appender><appender name="file" class="org.apache.log4j.RollingFileAppender"><param name="append" value="false" /><param name="maxFileSize" value="10MB" /><param name="maxBackupIndex" value="10" /><param name="file" value="${catalina.home}/logs/my.log" /><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" /></layout></appender><root><level value="DEBUG" /><appender-ref ref="console" /><appender-ref ref="file" /></root></log4j:configuration>日志記錄的方式------
package com.gavin; import org.apache.log4j.Logger; import java.io.IOException; public class Test01 {public static void main(String[] args) throws IOException {//Logger logger = Logger.getLogger("com.gavin.Test01");//類的全路徑名Logger logger = Logger.getLogger(Test01.class);logger.fatal("fatal");logger.error("error");logger.warn("warn");logger.info("info");//logger.debug("debug");try {int result = 1 / 0;} catch (Exception e) {logger.error("程序運(yùn)算錯誤", e);}} }注-----以上內(nèi)容僅供學(xué)習(xí)參考使用;
總結(jié)
以上是生活随笔為你收集整理的log4j配置文件详解------自学的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BPM 與 SOA的演進與展望(下)
- 下一篇: log4j自定义配置文件路径