2017-01-03 113 views

回答

2

Log4J1

從Log4J1的documentation,存在其中的配置啓動兩種情況:

  1. 您可以通過編程自動初始化應用程序中的
  2. 的所有配置調用BasicConfigurator.configure();配置將查看類路徑以查找配置文件。這是從文檔摘錄:

log4j庫不作任何有關其環境的假設。 特別是,沒有默認的log4j appender。但是,在特定的 定義明確的情況下,Logger 類的靜態初始化程序將嘗試自動配置log4j。 Java語言 可確保在將類加載到內存期間,類的靜態初始化器僅調用一次,並且只會調用一次。要記住,不同的類加載器可能會加載不同的 同一類的副本。這些相同類的副本被認爲是與JVM完全無關的 。

Log4J2

在log4J2,他們已經改變了你inilitaze編程的方式,你可以找到很多方法here。自動方式看起來沒有改變,因此,它在JVM加載靜態塊時加載。你可以看到它對配置文件here的外觀。來自log4j2的documentation

Log4j能夠在初始化過程中自動配置自身。當Log4j啓動時,它將找到所有的 ConfigurationFactory插件,並按從 最高到最低的加權順序排列它們。交付後,Log4j包含四個配置工廠實現:一個用於JSON,一個用於YAML,一個用於屬性的 ,另一個用於XML。

+0

我在詢問log4j2。你的答案是log4j1。 – Andy897

+0

我看了一個文檔到log4j2,但我相信它的一樣東西@ Andy897 – BrunoDM

+0

BasicConfigurator不存在於log4j2 – Andy897

相關問題