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 protected boolean equalsImpl(final Object obj) {
65 if (this == obj) {
66 return true;
67 }
68 if (!super.equalsImpl(obj)) {
69 return false;
70 }
71 if (getClass() != obj.getClass()) {
72 return false;
73 }
74 final AbstractFilter other = (AbstractFilter) obj;
75 if (onMatch != other.onMatch) {
76 return false;
77 }
78 if (onMismatch != other.onMismatch) {
79 return false;
80 }
81 return true;
82 }
83
84
85
86
87
88
89 @Override
90 public Result filter(final LogEvent event) {
91 return Result.NEUTRAL;
92 }
93
94
95
96
97
98
99
100
101
102
103 @Override
104 public Result filter(final Logger logger, final Level level, final Marker marker, final Message msg,
105 final Throwable t) {
106 return Result.NEUTRAL;
107 }
108
109
110
111
112
113
114
115
116
117
118 @Override
119 public Result filter(final Logger logger, final Level level, final Marker marker, final Object msg,
120 final Throwable t) {
121 return Result.NEUTRAL;
122 }
123
124
125
126
127
128
129
130
131
132
133 @Override
134 public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
135 final Object... params) {
136 return Result.NEUTRAL;
137 }
138
139
140
141
142
143 @Override
144 public final Result getOnMatch() {
145 return onMatch;
146 }
147
148
149
150
151
152 @Override
153 public final Result getOnMismatch() {
154 return onMismatch;
155 }
156
157 protected int hashCodeImpl() {
158 final int prime = 31;
159 int result = super.hashCodeImpl();
160 result = prime * result + ((onMatch == null) ? 0 : onMatch.hashCode());
161 result = prime * result + ((onMismatch == null) ? 0 : onMismatch.hashCode());
162 return result;
163 }
164
165 @Override
166 public String toString() {
167 return this.getClass().getSimpleName();
168 }
169 }