2014-11-03 42 views
0

我想定義自定義日誌級別在配置文件中像下面定義自定義日誌級別的配置文件和訪問他們的Java代碼中,Log4J2

<CustomLevels> 
    <CustomLevel name="DIAG" intLevel="350" /> 
    <CustomLevel name="NOTICE" intLevel="450" /> 
    <CustomLevel name="VERBOSE" intLevel="550" /> 
</CustomLevels> 

,我想訪問他們在Java代碼中一樣

Level diag = // get level defined in configuration 
// and use them like this 
logger.log(diag, "message"); 
// and then this 'message' is printed in the appender with thresholdfilter as diag 

再套上附加器在配置文件中定義的級別比較閾值濾波...

這可能嗎?如果是,那麼如何?

回答

1

定義自定義級別是這樣的:

public static final Level DIAG = Level.forName("DIAG", 350) 

因此,所有你需要的是從配置文件(在啓動時)來讀取這些級別,並將它們分配給一些靜態變量。

0

這應該做的工作:

logger.log(Level.getLevel("DIAG"), "your message"); 

the log4j2 doc

聲明