6181726f7dd7964b54b52efa27a327e47538479a
[appc.git] / appc-adapters / appc-rest-healthcheck-adapter / appc-rest-healthcheck-adapter-bundle / src / test / java / org / openecomp / appc / test / InterceptLogger.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP : APPC
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Copyright (C) 2017 Amdocs
8  * =============================================================================
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  * 
13  *      http://www.apache.org/licenses/LICENSE-2.0
14  * 
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  * 
21  * ECOMP is a trademark and service mark of AT&T Intellectual Property.
22  * ============LICENSE_END=========================================================
23  */
24
25
26
27 package org.openecomp.appc.test;
28
29 import java.text.MessageFormat;
30 import java.util.ArrayList;
31 import java.util.List;
32
33 import org.slf4j.Marker;
34
35 import ch.qos.logback.classic.Level;
36
37 /**
38  * This class is used as an intercept logger that can be used in testing to intercept and record all messages that are
39  * logged, thus allowing a junit test case to examine the log output and make assertions.
40  */
41 public class InterceptLogger implements org.slf4j.Logger {
42
43     /**
44      * This inner class represents an intercepted log event.
45      */
46     public class LogRecord {
47         private Level level;
48         private String message;
49         private long timestamp;
50         private Throwable t;
51
52         public LogRecord(Level level, String message) {
53             setLevel(level);
54             setTimestamp(System.currentTimeMillis());
55             setMessage(message);
56         }
57
58         public LogRecord(Level level, String message, Throwable t) {
59             this(level, message);
60             setThrowable(t);
61         }
62
63         /**
64          * @return the value of level
65          */
66         public Level getLevel() {
67             return level;
68         }
69
70         /**
71          * @return the value of message
72          */
73         public String getMessage() {
74             return message;
75         }
76
77         /**
78          * @return the value of timestamp
79          */
80         public long getTimestamp() {
81             return timestamp;
82         }
83
84         /**
85          * @param level
86          *            the value for level
87          */
88         public void setLevel(Level level) {
89             this.level = level;
90         }
91
92         /**
93          * @param message
94          *            the value for message
95          */
96         public void setMessage(String message) {
97             this.message = message;
98         }
99
100         /**
101          * @param timestamp
102          *            the value for timestamp
103          */
104         public void setTimestamp(long timestamp) {
105             this.timestamp = timestamp;
106         }
107
108         /**
109          * @return the value of t
110          */
111         public Throwable getThrowable() {
112             return t;
113         }
114
115         /**
116          * @param t
117          *            the value for t
118          */
119         public void setThrowable(Throwable t) {
120             this.t = t;
121         }
122
123     }
124
125     /**
126      * The list of all intercepted log events
127      */
128     private List<LogRecord> events;
129
130     /**
131      * Create the intercept logger
132      */
133     public InterceptLogger() {
134         events = new ArrayList<LogRecord>(1000);
135     }
136
137     /**
138      * @return Returns all intercepted log events
139      */
140     public List<LogRecord> getLogRecords() {
141         return events;
142     }
143
144     /**
145      * Clears all log events
146      */
147     public void clear() {
148         events.clear();
149     }
150
151     @Override
152     public void debug(Marker marker, String msg) {
153         debug(msg);
154     }
155
156     @Override
157     public void debug(Marker marker, String format, Object arg) {
158         debug(MessageFormat.format(format, arg));
159     }
160
161     @Override
162     public void debug(Marker marker, String format, Object... arguments) {
163         debug(MessageFormat.format(format, arguments));
164     }
165
166     @Override
167     public void debug(Marker marker, String format, Object arg1, Object arg2) {
168         debug(MessageFormat.format(format, arg1, arg2));
169     }
170
171     @Override
172     public void debug(Marker marker, String msg, Throwable t) {
173         debug(msg, t);
174     }
175
176     @Override
177     public void debug(String msg) {
178         events.add(new LogRecord(Level.DEBUG, msg));
179     }
180
181     @Override
182     public void debug(String format, Object arg) {
183         events.add(new LogRecord(Level.DEBUG, MessageFormat.format(format, arg)));
184     }
185
186     @Override
187     public void debug(String format, Object... arguments) {
188         events.add(new LogRecord(Level.DEBUG, MessageFormat.format(format, arguments)));
189     }
190
191     @Override
192     public void debug(String format, Object arg1, Object arg2) {
193         events.add(new LogRecord(Level.DEBUG, MessageFormat.format(format, arg1, arg2)));
194     }
195
196     @Override
197     public void debug(String msg, Throwable t) {
198         events.add(new LogRecord(Level.DEBUG, msg, t));
199     }
200
201     @Override
202     public void error(Marker marker, String msg) {
203         error(msg);
204     }
205
206     @Override
207     public void error(Marker marker, String format, Object arg) {
208         error(format, arg);
209     }
210
211     @Override
212     public void error(Marker marker, String format, Object... arguments) {
213         error(format, arguments);
214     }
215
216     @Override
217     public void error(Marker marker, String format, Object arg1, Object arg2) {
218         error(format, arg1, arg2);
219     }
220
221     @Override
222     public void error(Marker marker, String msg, Throwable t) {
223         events.add(new LogRecord(Level.ERROR, msg, t));
224     }
225
226     @Override
227     public void error(String msg) {
228         events.add(new LogRecord(Level.ERROR, msg));
229     }
230
231     @Override
232     public void error(String format, Object arg) {
233         events.add(new LogRecord(Level.ERROR, MessageFormat.format(format, arg)));
234     }
235
236     @Override
237     public void error(String format, Object... arguments) {
238         events.add(new LogRecord(Level.ERROR, MessageFormat.format(format, arguments)));
239     }
240
241     @Override
242     public void error(String format, Object arg1, Object arg2) {
243         events.add(new LogRecord(Level.ERROR, MessageFormat.format(format, arg1, arg2)));
244     }
245
246     @Override
247     public void error(String msg, Throwable t) {
248         events.add(new LogRecord(Level.ERROR, msg, t));
249     }
250
251     @Override
252     public String getName() {
253         return null;
254     }
255
256     @Override
257     public void info(Marker marker, String msg) {
258         info(msg);
259     }
260
261     @Override
262     public void info(Marker marker, String format, Object arg) {
263         info(format, arg);
264     }
265
266     @Override
267     public void info(Marker marker, String format, Object... arguments) {
268         info(format, arguments);
269     }
270
271     @Override
272     public void info(Marker marker, String format, Object arg1, Object arg2) {
273         info(format, arg1, arg2);
274     }
275
276     @Override
277     public void info(Marker marker, String msg, Throwable t) {
278         events.add(new LogRecord(Level.INFO, msg, t));
279     }
280
281     @Override
282     public void info(String msg) {
283         events.add(new LogRecord(Level.INFO, msg));
284     }
285
286     @Override
287     public void info(String format, Object arg) {
288         events.add(new LogRecord(Level.INFO, MessageFormat.format(format, arg)));
289     }
290
291     @Override
292     public void info(String format, Object... arguments) {
293         events.add(new LogRecord(Level.INFO, MessageFormat.format(format, arguments)));
294     }
295
296     @Override
297     public void info(String format, Object arg1, Object arg2) {
298         events.add(new LogRecord(Level.INFO, MessageFormat.format(format, arg1, arg2)));
299     }
300
301     @Override
302     public void info(String msg, Throwable t) {
303         events.add(new LogRecord(Level.INFO, msg, t));
304     }
305
306     @Override
307     public boolean isDebugEnabled() {
308         return true;
309     }
310
311     @Override
312     public boolean isDebugEnabled(Marker marker) {
313         return true;
314     }
315
316     @Override
317     public boolean isErrorEnabled() {
318         return true;
319     }
320
321     @Override
322     public boolean isErrorEnabled(Marker marker) {
323         return true;
324     }
325
326     @Override
327     public boolean isInfoEnabled() {
328         return true;
329     }
330
331     @Override
332     public boolean isInfoEnabled(Marker marker) {
333         return true;
334     }
335
336     @Override
337     public boolean isTraceEnabled() {
338         return true;
339     }
340
341     @Override
342     public boolean isTraceEnabled(Marker marker) {
343         return true;
344     }
345
346     @Override
347     public boolean isWarnEnabled() {
348         return true;
349     }
350
351     @Override
352     public boolean isWarnEnabled(Marker marker) {
353         return true;
354     }
355
356     @Override
357     public void trace(Marker marker, String msg) {
358         trace(msg);
359     }
360
361     @Override
362     public void trace(Marker marker, String format, Object arg) {
363         trace(format, arg);
364     }
365
366     @Override
367     public void trace(Marker marker, String format, Object... argArray) {
368         trace(format, argArray);
369     }
370
371     @Override
372     public void trace(Marker marker, String format, Object arg1, Object arg2) {
373         trace(format, arg1, arg2);
374     }
375
376     @Override
377     public void trace(Marker marker, String msg, Throwable t) {
378         trace(msg, t);
379     }
380
381     @Override
382     public void trace(String msg) {
383         events.add(new LogRecord(Level.TRACE, msg));
384     }
385
386     @Override
387     public void trace(String format, Object arg) {
388         events.add(new LogRecord(Level.TRACE, MessageFormat.format(format, arg)));
389     }
390
391     @Override
392     public void trace(String format, Object... arguments) {
393         events.add(new LogRecord(Level.TRACE, MessageFormat.format(format, arguments)));
394     }
395
396     @Override
397     public void trace(String format, Object arg1, Object arg2) {
398         events.add(new LogRecord(Level.TRACE, MessageFormat.format(format, arg1, arg2)));
399     }
400
401     @Override
402     public void trace(String msg, Throwable t) {
403         events.add(new LogRecord(Level.TRACE, msg, t));
404     }
405
406     @Override
407     public void warn(Marker marker, String msg) {
408         warn(msg);
409     }
410
411     @Override
412     public void warn(Marker marker, String format, Object arg) {
413         warn(format, arg);
414     }
415
416     @Override
417     public void warn(Marker marker, String format, Object... arguments) {
418         warn(format, arguments);
419     }
420
421     @Override
422     public void warn(Marker marker, String format, Object arg1, Object arg2) {
423         warn(format, arg1, arg2);
424     }
425
426     @Override
427     public void warn(Marker marker, String msg, Throwable t) {
428         events.add(new LogRecord(Level.WARN, msg, t));
429     }
430
431     @Override
432     public void warn(String msg) {
433         events.add(new LogRecord(Level.WARN, msg));
434     }
435
436     @Override
437     public void warn(String format, Object arg) {
438         events.add(new LogRecord(Level.WARN, MessageFormat.format(format, arg)));
439     }
440
441     @Override
442     public void warn(String format, Object... arguments) {
443         events.add(new LogRecord(Level.WARN, MessageFormat.format(format, arguments)));
444     }
445
446     @Override
447     public void warn(String format, Object arg1, Object arg2) {
448         events.add(new LogRecord(Level.WARN, MessageFormat.format(format, arg1, arg2)));
449     }
450
451     @Override
452     public void warn(String msg, Throwable t) {
453         events.add(new LogRecord(Level.WARN, msg, t));
454     }
455 }