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