2011-07-06 33 views
6

我想使用log4j過濾掉堆棧跟蹤中的某些行(如net.sf.cglib.*org.springframework.*)。可以用log4j來配置嗎?如何過濾log4j堆棧跟蹤中的某些行?

在eclipse中,junit插件允許您添加修改junit選項卡中顯示的堆棧跟蹤的過濾器,但這不會將堆棧跟蹤輸出更改爲控制檯。

+0

不能國防部正常log4j.properties或XML文件?你可以添加-Dlog4j.debug來找出它正在使用的配置文件 – davidfrancis

+0

哦抱歉棧跟蹤,只需正確地閱讀問題。我從來沒有這樣做過 – davidfrancis

回答

2

使用此過濾佈局log4j的插件: http://www.openmindlab.com/lab/tools/openutilslog4j/layout.html

他們與該網頁上的log4j.xml的例子。只需使用it.openutils.log4j.FilteredPatternLayout代替的log4j的PatternLayout,然後把一些項目像

<param name="Filter" value="net.sf.cglib"/> 
    <param name="Filter" value="org.springframework"/> 
下面

1

我剛剛發佈了一個開源的庫,可以非常好地過濾stacktrace。這裏是鏈接到一個簡短的文章有關庫:http://www.coderanch.com/t/661077/blogs/Open-Source-Java-library-stacktrace#3068017 而且,這裏是一個GitHub的鏈接來源:https://github.com/michaelgantman/Mgnt這裏是Maven的dependenciesfor它:

<dependency> 
<groupId>com.github.michaelgantman</groupId> 
<artifactId>MgntUtils</artifactId> 
<version>1.04</version> 
</dependency> 
<dependency> 
<groupId>com.github.michaelgantman</groupId> 
<artifactId>MgntUtils</artifactId> 
<version>1.04</version> 
<classifier>javadoc</classifier> 
</dependency> 
<dependency> 
<groupId>com.github.michaelgantman</groupId> 
<artifactId>MgntUtils</artifactId> 
<version>1.04</version> 
<classifier>sources</classifier> 
</dependency>