1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.logging.log4j.core.filter;
18
19 import org.apache.logging.log4j.Level;
20 import org.apache.logging.log4j.Marker;
21 import org.apache.logging.log4j.core.AbstractLifeCycle;
22 import org.apache.logging.log4j.core.Filter;
23 import org.apache.logging.log4j.core.LogEvent;
24 import org.apache.logging.log4j.core.Logger;
25 import org.apache.logging.log4j.message.Message;
26
27
28
29
30
31
32
33 public abstract class AbstractFilter extends AbstractLifeCycle implements Filter {
34
35 private static final long serialVersionUID = 1L;
36
37
38
39
40 protected final Result onMatch;
41
42
43
44
45 protected final Result onMismatch;
46
47
48
49
50 protected AbstractFilter() {
51 this(null, null);
52 }
53
54
55
56
57
58
59 protected AbstractFilter(final Result onMatch, final Result onMismatch) {
60 this.onMatch = onMatch == null ? Result.NEUTRAL : onMatch;
61 this.onMismatch = onMismatch == null ? Result.DENY : onMismatch;
62 }
63
64 @Override
65 protected boolean equalsImpl(final Object obj) {
66 if (this == obj) {
67 return true;
68 }
69 if (!super.equalsImpl(obj)) {
70 return false;
71 }
72 if (getClass() != obj.getClass()) {
73 return false;
74 }
75 final AbstractFilter other = (AbstractFilter) obj;
76 if (onMatch != other.onMatch) {
77 return false;
78 }
79 if (onMismatch != other.onMismatch) {
80 return false;
81 }
82 return true;
83 }
84
85
86
87
88
89
90 @Override
91 public Result filter(final LogEvent event) {
92 return Result.NEUTRAL;
93 }
94
95
96
97
98
99
100
101
102
103
104 @Override
105 public Result filter(final Logger logger, final Level level, final Marker marker, final Message msg,
106 final Throwable t) {
107 return Result.NEUTRAL;
108 }
109
110
111
112
113
114
115
116
117
118
119 @Override
120 public Result filter(final Logger logger, final Level level, final Marker marker, final Object msg,
121 final Throwable t) {
122 return Result.NEUTRAL;
123 }
124
125
126
127
128
129
130
131
132
133
134 @Override
135 public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
136 final Object... params) {
137 return Result.NEUTRAL;
138 }
139
140
141
142
143
144 @Override
145 public final Result getOnMatch() {
146 return onMatch;
147 }
148
149
150
151
152
153 @Override
154 public final Result getOnMismatch() {
155 return onMismatch;
156 }
157
158 @Override
159 protected int hashCodeImpl() {
160 final int prime = 31;
161 int result = super.hashCodeImpl();
162 result = prime * result + ((onMatch == null) ? 0 : onMatch.hashCode());
163 result = prime * result + ((onMismatch == null) ? 0 : onMismatch.hashCode());
164 return result;
165 }
166
167 @Override
168 public String toString() {
169 return this.getClass().getSimpleName();
170 }
171 }