如何自定義獲取log4j的配置檔案

2021-06-19 12:48:25 字數 988 閱讀 9318

預設情況下我們會使用

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初...