2013-10-08 51 views
4

在log4j2文檔log4j2 java configuration默認配置是這樣的:我如何使用log4j2爲不同類別的日誌記錄級別?

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration status="WARN"> 
    <Appenders> 
    <Console name="Console" target="SYSTEM_OUT"> 
     <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> 
    </Console> 
    </Appenders> 
    <Loggers> 
    <Root level="error"> 
     <AppenderRef ref="Console"/> 
    </Root> 
    </Loggers> 
</Configuration> 

這將產生日誌記錄水平ERROR或致命的控制檯。我的默認日誌工作方式相同。我遇到的問題是,當我這樣做,雖然:

<logger name="com.foo.Bar" level="TRACE"/> 
<Root level="ERROR"> 
    <AppenderRef ref="STDOUT"> 
</Root> 

根據該文件,log4j2 java configuration,這將

消除所有來自除com.foo.Bar一切輸出跟蹤。

我的實現,而另一方面,作品彷彿

<logger name="com.foo.Bar" level="TRACE"/> 

甚至不存在。它仍然只打印錯誤日誌。

問題

  • 有其他人遇到這個問題?
  • 任何人都可以重現它嗎?
  • 有誰知道如何解決它?我幾乎會給人一美元。不過,我肯定會滿足於標記他們的答案。

這裏是關於我的設置的一些信息:

Maven依賴

<dependency> 
    <groupId>org.apache.logging.log4j</groupId> 
    <artifactId>log4j-api</artifactId> 
    <version>2.0-beta9</version> 
     </dependency> 
     <dependency> 
     <groupId>org.apache.logging.log4j</groupId> 
     <artifactId>log4j-core</artifactId> 
     <version>2.0-beta9</version> 
     </dependency> 
    <dependency> 

其他

我在適當的類測試此。我正在運行一個JUnit測試文件。我使用了src/main .xml文件,並且使用了src/test .xml文件。兩者結果都一樣。

最終目標

我的最終目標是有一個特定的記錄程序發送SMTP請求。我很確定我知道如何做到這一點,我只是努力解決這個小問題

回答

3

我沒有得到記錄器使用相同的字符串。一旦我這樣做,它的工作:

enter image description here enter image description here

一旦我做出的名字一樣,我的程序擔任指定的文檔。

+0

什麼是此LogManager類的完全限定名稱?你在這裏用過哪個罐子? – manoj

相關問題