預設情況下我們會使用
log4j.properties
這個作為配置檔案,放在
bin目錄下面,但是如果我們把工程打包成乙個
jar包(或者是服務),則**從**獲取配置配置檔案呢?我在網上查詢了相關資料,覺得有點意思,加上自己的總結,簡單描述一下。 1.
配置檔案的載入是在第一次使用,因此在系統工程第一次使用
log4j
的時候就要指明載入的配置檔案的路徑 2.
在linux
伺服器上使用的是相對路徑,可以指明配置檔案的方法
第一種方式: //
指明配置檔案的載入目錄載入
.properties檔案
propertyconfigurator.configure(
"e:");
第二種方式:
/** *
初始化log4j
配置資訊 *
@throws
exception */
publicstaticvoidinitlog4j()throwsexception
catch(exception ex)
finally
} 使用上面的方法可以實現動態的新增配置資訊
如何實現動態的指定
log存放的路徑,即不用寫死?
1、將配置檔案中的指定路徑刪除掉
2、指明引數的配置路徑
props.put(
, sc.getrealpath(
"/log/hb.log"
));
表示在當前工程下面建立乙個
dd資料夾,裡面有
test.log
檔案,即
dd目錄與
bin目錄同等級
log4j自定義日誌輸出
前說一下業務需求 因 當中呼叫了第三個介面,所以要對第三方介面單獨記錄日誌,所以配置log4j指定此類的日誌輸出到指定的檔案路徑與檔案上。不多說看原始碼 log4j.rootlogger error,stdout logfile log4j.logger.org.apache warn log4j....
log4j 自定義樣式引數意義
自定義樣式 c 輸出所屬的類目,通常就是所在類的全名 c 輸出logger所在類的名稱,通常就是所在類的全名 d 輸出日誌時間點的日期或時間,預設格式為iso8601,也可以在其後指定格式,比如 d,d,d f 輸出所在類的類名稱,只有類名。l 輸出語句所在的行數,包括類名 方法名 檔名 行數 l ...
自定義logger註解, 簡化log4j的配置
上次在參加支付寶架構培訓的時候,看到他們框架中有乙個不錯的對logger的註解來簡化定義,具體用法如下 logger private static log log 當時覺得不錯,也沒問他們怎麼實現的,後來自己做了乙個,基本原理如下 通過自定義乙個beanpostprocessor,在對所有bean初...