2011-07-06 30 views
6

Tôi muốn lọc ra một số dòng nhất định từ các dấu vết ngăn xếp bằng cách sử dụng log4j (như net.sf.cglib.*org.springframework.*). Có thể cấu hình điều này với log4j không?Làm cách nào để lọc một số dòng nhất định khỏi dấu vết ngăn xếp log4j?

Trong nhật thực, plugin junit cho phép bạn thêm bộ lọc sửa đổi dấu vết ngăn xếp được hiển thị trong tab junit, nhưng điều này không thay đổi đầu ra ngăn xếp ngăn xếp thành bàn điều khiển.

+0

Bạn không thể chỉnh sửa được các log4j.properties bình thường hoặc xml tập tin? Bạn có thể thêm -Dlog4j.debug để tìm ra tệp cấu hình đang sử dụng – davidfrancis

+0

Xin lỗi, bạn đã đọc câu hỏi đúng cách. Không bao giờ làm điều đó bản thân mình – davidfrancis

Trả lời

2

Sử dụng này lọc bố trí log4j add-on: http://www.openmindlab.com/lab/tools/openutilslog4j/layout.html

Họ có một ví dụ với log4j.xml trên trang đó. Chỉ cần sử dụng it.openutils.log4j.FilteredPatternLayout thay vì log4j PatternLayout và sau đó đặt một số mục như

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

dưới đây.

1

Tôi vừa xuất bản một thư viện Nguồn mở để lọc stacktrace rất độc đáo. Dưới đây là các liên kết đến một bài viết ngắn về thư viện: http://www.coderanch.com/t/661077/blogs/Open-Source-Java-library-stacktrace#3068017 Ngoài ra ở đây là một liên kết github các nguồn: https://github.com/michaelgantman/Mgnt và đây là Maven dependenciesfor nó:

<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> 
Các vấn đề liên quan