標籤:blog http java 使用 os 檔案
常用log4j配置,一般可以採用兩種方式,.properties和.xml,下面舉兩個簡單的例子:
一、log4j.properties
### 設定org.zblog域對應的層級INFO,DEBUG,WARN,ERROR和輸出地A1,A2 ##log4j.category.org.zblog=ERROR,A1 log4j.category.org.zblog=INFO,A2 log4j.appender.A1=org.apache.log4j.ConsoleAppender ### 設定輸出地A1,為ConsoleAppender(控制台) ##log4j.appender.A1.layout=org.apache.log4j.PatternLayout ### 設定A1的輸出布局格式PatterLayout,(可以靈活地指定配置模式)##log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n ### 配置日誌輸出的格式##log4j.appender.A2=org.apache.log4j.RollingFileAppender ### 設定輸出地A2到檔案(檔案大小到達指定尺寸的時候產生一個新的檔案)##log4j.appender.A2.File=E:/study/log4j/zhuwei.html ### 檔案位置##log4j.appender.A2.MaxFileSize=500KB ### 檔案大小##log4j.appender.A2.MaxBackupIndex=1 log4j.appender.A2.layout=org.apache.log4j.HTMLLayout 指定採用html方式輸出
二、log4j.xml
<?xml version="1.0" encoding="GB2312" ?><!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"><log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"><appender name="org.zblog.all" class="org.apache.log4j.RollingFileAppender"><!-- 設定通道ID:org.zblog.all和輸出方式:org.apache.log4j.RollingFileAppender --> <param name="File" value="E:/study/log4j/all.output.log" /><!-- 設定File參數:日誌輸出檔案名 --> <param name="Append" value="false" /><!-- 設定是否在重新啟動服務時,在原有日誌的基礎添加新日誌 --> <param name="MaxBackupIndex" value="10" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%p (%c:%L)- %m%n" /><!-- 設定輸出檔案項目和格式 --> </layout></appender><appender name="org.zblog.zcw" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="E:/study/log4j/zhuwei.output.log" /> <param name="Append" value="true" /> <param name="MaxFileSize" value="10240" /> <!-- 設定檔案大小 --> <param name="MaxBackupIndex" value="10" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%p (%c:%L)- %m%n" /> </layout></appender><logger name="zcw.log"> <!-- 設定網域名稱限制,即zcw.log域及以下的日誌均輸出到下面對應的通道中 --> <level value="debug" /><!-- 順位 --> <appender-ref ref="org.zblog.zcw" /><!-- 與前面的通道id相對應 --></logger><root> <!-- 設定接收所有輸出的通道 --> <appender-ref ref="org.zblog.all" /><!-- 與前面的通道id相對應 --></root></log4j:configuration>
三、設定檔載入方法:
import org.apache.log4j.Logger;import org.apache.log4j.PropertyConfigurator;import org.apache.log4j.xml.DOMConfigurator;public class Log4jApp { public static void main(String[] args) { DOMConfigurator.configure("E:/study/log4j/log4j.xml");//載入.xml檔案 //PropertyConfigurator.configure("E:/study/log4j/log4j.properties");//載入.properties檔案 Logger log=Logger.getLogger("org.zblog.test"); log.info("測試"); }}
四、項目使用log4j
在web 應用中,可以將設定檔的載入放在一個單獨的servlet中,並在web.xml中配置該servlet在應用啟動時候載入。對於在多人項目中,可以給每一個人設定一個輸出通道,這樣在每個人在構建Logger時,用自己的網域名稱稱,讓調試資訊輸出到自己的log檔案中。
五、常用輸出格式# -X號:X資訊輸出時靠左對齊;# %p:日誌資訊層級# %d{}:日誌資訊產生時間# %c:日誌資訊所在地(類名)# %m:產生的日誌具體資訊# %n:輸出日誌資訊換行