2016-09-28 59 views
1

我使用log4j2這個2間的依賴關係:log4j2異常處理工作不

<dependency> 
     <groupId>org.apache.logging.log4j</groupId> 
     <artifactId>log4j-core</artifactId> 
     <version>2.6.2</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.logging.log4j</groupId> 
     <artifactId>log4j-1.2-api</artifactId> 
     <version>2.6.2</version> 
    </dependency> 

當我試着使用像一個拋出來登錄,例如一個錯誤:使用的PatternLayout

import org.apache.logging.log4j.LogManager; 
import org.apache.logging.log4j.Logger; 
import org.testng.annotations.Test; 

public class Test { 

private static final Logger logger = LogManager.getLogger(Test.class); 

@Test 
public void testSendMessage() throws Exception { 
    Exception exception = new Exception("some exception"); 
    logger.error("error with exception", exception); 
} 
} 

<Configuration> 
<properties> 
    <property name="filters">org.testng,org.apache.maven,sun.reflect,java.lang.reflect</property> 
</properties> 

<Appenders> 
<Console name="ConsoleAppender" target="SYSTEM_OUT" direct="true"> 
      <PatternLayout pattern="%maxLen{%d{DEFAULT} [%p] %c{-3}:%L - %enc{%m} %xEx{filters(${filters})}%n}{200}"/> 
     </Console> 
</Appenders> 

<Loggers> 
    <logger name="my.test.class.path" level="trace" additivity="false"> 
     <AppenderRef ref="ConsoleAppender" /> 
    </logger> 
</Loggers> 
</Configuration> 

然後過濾的包不會從堆棧跟蹤中消失,我甚至不能在任何w中操縱堆棧跟蹤像最大化線:

%xEx{5} 

突出顯示也不在日食或Kibana(ELK環境)中工作。

任何人都可以幫忙嗎?

+0

我有同樣的問題 –

回答

0

難道是%xEx PatternLayout轉換器在其選項中不支持屬性替換嗎?

如果將要過濾的包直接放在過濾器列表中怎麼辦?

爲此,在Log4j 2問題跟蹤器上提出一個Jira票證是值得的。

+0

的例子是絕對從log4j2文檔站點複製: https://logging.apache.org/log4j/2.x/manual/layouts.html#PatternLayout 篩選將Throwable部分 直接打包列表不起作用%xEx {filters(org.testng,org.apache.maven,sun.reflect,java.lang.reflect)} – Zoltan

+0

然後您可能發現了一個錯誤。請在Log4j 2問題跟蹤器上提出此問題。 –

+0

舉報:https://issues.apache.org/jira/browse/LOG4J2-1617 – Zoltan