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