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日志內容之外的要求----
1,log4j的配置文件格式為 .properties,必須命名為
log4j.properties不然會讀取配置文件失敗;
2,標準格式時鍵值對來保存配置內容----key=value;
3,習慣將log4j.properties文件放在根目錄下,因為默認情況下, 查找 日志配置文件是在CLASSPATH中查找名為log4j.properties的文件。
日志內容要求------
log4j.rootLogger----->表示日志記錄的級別以及記錄方式
log4j.rootLogger=debug,stdout,logfile----->日志記錄級別為debug,輸出方式為兩種stdout,logfile(兩種方式需要自己指定;)
日志記錄級別----的優先級
fatal:出現非常嚴重的錯誤事件,這些事件可能導致程序異常終止
error:雖有錯誤,但允許應用程序繼續運行
warn:運行環境潛藏著危害
info:報告信息
debug:細粒度的信息事件,對應于程序的調試;
每種級別包含他之上的級別;
即輸出級別error包含fatal, debug包含上述所有級別
log4j.appender.stdout =-------表示輸出方式
log4j.appender.stdout=org.apache.log4j.ConsoleAppender ------->在控制臺輸出
log4j.appender.stdout.Target=System.err---->>>表示輸出信息為系統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 不過見名知意是最好的;
不過日常使用中一般不自己寫而是直接到官網找到相關配置文件復制粘貼,然后改改就可以自己用了;
將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>最后整合一個標準的
# 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("程序運算錯誤", e);}} }注-----以上內容僅供學習參考使用;
總結
以上是生活随笔為你收集整理的log4j配置文件详解------自学的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BPM 與 SOA的演進與展望(下)
- 下一篇: Java字符串的字符进行排序