標籤:log4j2 log4j2.x log4j java日誌工具 開源軟體
Log4j2.x相對Log4j1.x來說有了很大的改變,對於一個應用比較廣泛的開源軟體來說這種改變有些不必要,也不太人性化
準備工作
官方下載頁面:http://logging.apache.org/log4j/2.x/download.html 選擇Apache Log4j 2 binary 下載,不要選擇source檔案下載,如果您有興趣去研究再打包,也未嘗不可。(gz和zip只是不同的打包格式,一般linux下面用gz比較多而已,使用winRar軟體不管哪種格式都可以搞定)
開始配置
1. 解壓後壓縮包,選擇log4j-api-2.1.jar和log4j-core-2.1.jar匯入項目工程
2.參照Log4j2的使用文檔,準備一份Log4j的設定檔, 隨意命名一下即可,
簡單說明
Appenders裡面主要配置輸出的方式
Loggers主要配置log怎麼打
這個log配置,一方面在控制太輸出,同時也會打到app.log中,一個檔案最大隻能6MB,滿6MB就開始備份,最多備份10個檔案。
<?xml version="1.0" encoding="UTF-8"?><Configuration status="OFF"><Properties><Property name="fileName">app.log</Property><Property name="backupFilePattern">logs/backup-%i.log</Property></Properties><Appenders><Console name="Console" target="SYSTEM_OUT"><PatternLayout pattern="[%d{ISO8601}] %C{1}(%M:%L): %m%n"/></Console><RollingFile name="RollingFile" fileName="${fileName}" filePattern="${backupFilePattern}"><PatternLayout><pattern>[%d{ISO8601}] %C{1}(%M:%L): %m%n</pattern></PatternLayout><Policies><SizeBasedTriggeringPolicy size="6MB"/></Policies><DefaultRolloverStrategy max="10"/></RollingFile></Appenders><Loggers><Logger name="com.rsi.remote.deploy.tool.gui.MainUI" level="trace"><AppenderRef ref="RollingFile"/></Logger><Root level="error"><AppenderRef ref="Console"/></Root></Loggers></Configuration>
3.配置環境變數,指定log配置的位置 -Dlog4j.configurationFile=file:///C:\logtext.xml(路徑必須帶有協議file:///,不然會報錯)
4.使用的時候,使用LogManager,之前的版本採用的Logger,這也是比較糾結的地方,你說你升級版本就升級版本,你還修改調用方式,像之前可以在源碼中設定檔路徑,現在只能支援環境變數,如果找不到它會預設去Classpath下面去找幾種名為log4j2的檔案,有yml,xml等,修改調用方式最大的麻煩在於升級log4j1.x到log4j2.x的過程中,如果你之前的代碼調用是直接調用,那就慘了,如果你封裝過就相對要好一點,所以說,奉勸各位,如果正常設計工程的時候調用開源項目的時候,最好用自己的代碼去封裝一遍,這樣以後再遇到這種調用方式的問題,直接修改一個檔案就好了
static LogManagerlogger = LogManager.getLogger(TestLogger.class.getName());
如果有其他問題可以給我留言
Log4j2.x的使用(Log4j1.x升級到Log4j2.x)