1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.log4j.util;
19
20 import org.apache.oro.text.perl.Perl5Util;
21
22 /***
23 * The sun.reflect.* and java.lang.reflect.* lines are not present in all JDKs.
24 *
25 * @author Ceki Gulcu
26 */
27 public class SunReflectFilter implements Filter {
28 Perl5Util util = new Perl5Util();
29
30 public String filter(String in) {
31 if(in == null) {
32 return null;
33 }
34 if (util.match("/at sun.reflect/", in)) {
35 return null;
36 }
37 if (in.indexOf("at java.lang.reflect.Method") >= 0) {
38 return null;
39 }
40 if (in.indexOf("Compiled Code") >= 0) {
41 if(in.indexOf("junit.framework.TestSuite") >= 0) {
42 return util.substitute("s/Compiled Code/TestSuite.java:XXX/", in);
43 }
44 }
45 if (util.match("///(Method.java:.*//)/", in)) {
46 return util.substitute("s///(Method.java:.*//)/(Native Method)/", in);
47 }
48 return in;
49 }
50 }