簡體   English   中英

使用slf4j-log4j12使用Log4j設置配置文件

[英]Setting configuration file with Log4j using slf4j-log4j12

我知道如何設置文件有幾個答案。 非與我合作。

我正在嘗試統一幾個conf文件,我需要將slf4j-log4j12中提供的log4j的conf設置為作為程序參數提供的配置文件。 直到現在我嘗試通過設置為jvm的參數,如:

java '-Dlog4j.configuration=conf.cfg' -jar my.jar

我回來了:

log4j:WARN No appenders could be found for logger (org.apache.commons.beanutils.converters.BooleanConverter).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
log4j:ERROR Could not parse file [].

以編程方式設置:

 System.setProperty("log4j.configuration",(new File(  Configurator.getDefaultConfig().getString(Const.LoggingDefaultLoggingFile))).toURL().toString());

 System.setProperty("log4j.configurationFile",(new File(  Configurator.getDefaultConfig().getString(Const.LoggingDefaultLoggingFile))).toURL().toString());

結果相同。

我嘗試使用DOMConfigurator但是對於xml我正在使用properties所以沒有成功。

我正在搜索如何重新加載log4j,但提供了復雜的解決方案,用於訂閱監視更改和不斷加載更改。

我只想以編程方式更改一次配置文件。

直到現在,我才能將文件設置為直接放入jar中。 但這是通過使用具有默認名稱的分隔文件。

有沒有一種方法可以將文件直接加載到Log4j中(沒有shity系統屬性)? o有一個簡單的方法可以更好地做到這一點?

  1. log4j在WEB-INF\\classes下查找log4j.properties

  2. PropertyConfigurator類,

使用示例:

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
// ...
public static final Logger log=Logger.getLogger(App.class);
// ...
PropertyConfigurator.configure("log4j.properties");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM