1 /**
2 * Copyright (c) 2004-2011 QOS.ch
3 * All rights reserved.
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining
6 * a copy of this software and associated documentation files (the
7 * "Software"), to deal in the Software without restriction, including
8 * without limitation the rights to use, copy, modify, merge, publish,
9 * distribute, sublicense, and/or sell copies of the Software, and to
10 * permit persons to whom the Software is furnished to do so, subject to
11 * the following conditions:
12 *
13 * The above copyright notice and this permission notice shall be
14 * included in all copies or substantial portions of the Software.
15 *
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 *
24 */
25 package org.slf4j.helpers;
26
27 import org.slf4j.Logger;
28 import org.slf4j.Marker;
29
30 /**
31 * A direct NOP (no operation) implementation of {@link Logger}.
32 *
33 * @author Ceki Gülcü
34 */
35 public class NOPLogger extends NamedLoggerBase implements Logger {
36
37 private static final long serialVersionUID = -517220405410904473L;
38
39 /**
40 * The unique instance of NOPLogger.
41 */
42 public static final NOPLogger NOP_LOGGER = new NOPLogger();
43
44 /**
45 * There is no point in creating multiple instances of NOPLogger.
46 *
47 * The present constructor should be "private" but we are leaving it as "protected" for compatibility.
48 */
49 protected NOPLogger() {
50 }
51
52 /**
53 * Always returns the string value "NOP".
54 */
55 @Override
56 public String getName() {
57 return "NOP";
58 }
59
60 /**
61 * Always returns false.
62 * @return always false
63 */
64 @Override
65 final public boolean isTraceEnabled() {
66 return false;
67 }
68
69 /** A NOP implementation. */
70 @Override
71 final public void trace(String msg) {
72 // NOP
73 }
74
75 /** A NOP implementation. */
76 @Override
77 final public void trace(String format, Object arg) {
78 // NOP
79 }
80
81 /** A NOP implementation. */
82 @Override
83 public final void trace(String format, Object arg1, Object arg2) {
84 // NOP
85 }
86
87 /** A NOP implementation. */
88 @Override
89 public final void trace(String format, Object... argArray) {
90 // NOP
91 }
92
93 /** A NOP implementation. */
94 @Override
95 final public void trace(String msg, Throwable t) {
96 // NOP
97 }
98
99 /**
100 * Always returns false.
101 * @return always false
102 */
103 final public boolean isDebugEnabled() {
104 return false;
105 }
106
107 /** A NOP implementation. */
108 final public void debug(String msg) {
109 // NOP
110 }
111
112 /** A NOP implementation. */
113 final public void debug(String format, Object arg) {
114 // NOP
115 }
116
117 /** A NOP implementation. */
118 final public void debug(String format, Object arg1, Object arg2) {
119 // NOP
120 }
121
122 /** A NOP implementation. */
123 final public void debug(String format, Object... argArray) {
124 // NOP
125 }
126
127 /** A NOP implementation. */
128 final public void debug(String msg, Throwable t) {
129 // NOP
130 }
131
132 /**
133 * Always returns false.
134 * @return always false
135 */
136 final public boolean isInfoEnabled() {
137 // NOP
138 return false;
139 }
140
141 /** A NOP implementation. */
142 final public void info(String msg) {
143 // NOP
144 }
145
146 /** A NOP implementation. */
147 final public void info(String format, Object arg1) {
148 // NOP
149 }
150
151 /** A NOP implementation. */
152 final public void info(String format, Object arg1, Object arg2) {
153 // NOP
154 }
155
156 /** A NOP implementation. */
157 final public void info(String format, Object... argArray) {
158 // NOP
159 }
160
161 /** A NOP implementation. */
162 final public void info(String msg, Throwable t) {
163 // NOP
164 }
165
166 /**
167 * Always returns false.
168 * @return always false
169 */
170 final public boolean isWarnEnabled() {
171 return false;
172 }
173
174 /** A NOP implementation. */
175 final public void warn(String msg) {
176 // NOP
177 }
178
179 /** A NOP implementation. */
180 final public void warn(String format, Object arg1) {
181 // NOP
182 }
183
184 /** A NOP implementation. */
185 final public void warn(String format, Object arg1, Object arg2) {
186 // NOP
187 }
188
189 /** A NOP implementation. */
190 final public void warn(String format, Object... argArray) {
191 // NOP
192 }
193
194 /** A NOP implementation. */
195 final public void warn(String msg, Throwable t) {
196 // NOP
197 }
198
199 /** A NOP implementation. */
200 final public boolean isErrorEnabled() {
201 return false;
202 }
203
204 /** A NOP implementation. */
205 final public void error(String msg) {
206 // NOP
207 }
208
209 /** A NOP implementation. */
210 final public void error(String format, Object arg1) {
211 // NOP
212 }
213
214 /** A NOP implementation. */
215 final public void error(String format, Object arg1, Object arg2) {
216 // NOP
217 }
218
219 /** A NOP implementation. */
220 final public void error(String format, Object... argArray) {
221 // NOP
222 }
223
224 /** A NOP implementation. */
225 final public void error(String msg, Throwable t) {
226 // NOP
227 }
228
229 // ============================================================
230 // Added NOP methods since MarkerIgnoringBase is now deprecated
231 // ============================================================
232 /**
233 * Always returns false.
234 * @return always false
235 */
236 final public boolean isTraceEnabled(Marker marker) {
237 // NOP
238 return false;
239 }
240
241 /** A NOP implementation. */
242 @Override
243 final public void trace(Marker marker, String msg) {
244 // NOP
245 }
246
247 /** A NOP implementation. */
248 @Override
249 final public void trace(Marker marker, String format, Object arg) {
250 // NOP
251 }
252
253 /** A NOP implementation. */
254 @Override
255 final public void trace(Marker marker, String format, Object arg1, Object arg2) {
256 // NOP
257 }
258
259 /** A NOP implementation. */
260 @Override
261 final public void trace(Marker marker, String format, Object... argArray) {
262 // NOP
263 }
264
265 /** A NOP implementation. */
266 @Override
267 final public void trace(Marker marker, String msg, Throwable t) {
268 // NOP
269 }
270
271 /**
272 * Always returns false.
273 * @return always false
274 */
275 final public boolean isDebugEnabled(Marker marker) {
276 return false;
277 }
278
279 /** A NOP implementation. */
280 @Override
281 final public void debug(Marker marker, String msg) {
282 // NOP
283 }
284
285 /** A NOP implementation. */
286 @Override
287 final public void debug(Marker marker, String format, Object arg) {
288 // NOP
289 }
290
291 /** A NOP implementation. */
292 @Override
293 final public void debug(Marker marker, String format, Object arg1, Object arg2) {
294 // NOP
295 }
296
297 @Override
298 final public void debug(Marker marker, String format, Object... arguments) {
299 // NOP
300 }
301
302 @Override
303 final public void debug(Marker marker, String msg, Throwable t) {
304 // NOP
305 }
306
307 /**
308 * Always returns false.
309 * @return always false
310 */
311 @Override
312 public boolean isInfoEnabled(Marker marker) {
313 return false;
314 }
315
316 /** A NOP implementation. */
317 @Override
318 final public void info(Marker marker, String msg) {
319 // NOP
320 }
321
322 /** A NOP implementation. */
323 @Override
324 final public void info(Marker marker, String format, Object arg) {
325 // NOP
326 }
327
328 /** A NOP implementation. */
329 @Override
330 final public void info(Marker marker, String format, Object arg1, Object arg2) {
331 // NOP
332 }
333
334 /** A NOP implementation. */
335 @Override
336 final public void info(Marker marker, String format, Object... arguments) {
337 // NOP
338 }
339
340 /** A NOP implementation. */
341 @Override
342 final public void info(Marker marker, String msg, Throwable t) {
343 // NOP
344 }
345
346 /**
347 * Always returns false.
348 * @return always false
349 */
350 @Override
351 final public boolean isWarnEnabled(Marker marker) {
352 return false;
353 }
354
355 /** A NOP implementation. */
356 @Override
357 final public void warn(Marker marker, String msg) {
358 // NOP
359 }
360
361 /** A NOP implementation. */
362 @Override
363 final public void warn(Marker marker, String format, Object arg) {
364 // NOP
365 }
366
367 /** A NOP implementation. */
368 @Override
369 final public void warn(Marker marker, String format, Object arg1, Object arg2) {
370 // NOP
371 }
372
373 /** A NOP implementation. */
374 @Override
375 final public void warn(Marker marker, String format, Object... arguments) {
376 // NOP
377 }
378
379 /** A NOP implementation. */
380 @Override
381 final public void warn(Marker marker, String msg, Throwable t) {
382 // NOP
383 }
384
385 /**
386 * Always returns false.
387 * @return always false
388 */
389 @Override
390 final public boolean isErrorEnabled(Marker marker) {
391 return false;
392 }
393
394 /** A NOP implementation. */
395 @Override
396 final public void error(Marker marker, String msg) {
397 // NOP
398 }
399
400 /** A NOP implementation. */
401 @Override
402 final public void error(Marker marker, String format, Object arg) {
403 // NOP
404 }
405
406 /** A NOP implementation. */
407 @Override
408 final public void error(Marker marker, String format, Object arg1, Object arg2) {
409 // NOP
410 }
411
412 /** A NOP implementation. */
413 @Override
414 final public void error(Marker marker, String format, Object... arguments) {
415 // NOP
416 }
417
418 /** A NOP implementation. */
419 @Override
420 final public void error(Marker marker, String msg, Throwable t) {
421 // NOP
422 }
423 // ===================================================================
424 // End of added NOP methods since MarkerIgnoringBase is now deprecated
425 // ===================================================================
426
427 }