2 * ============LICENSE_START=======================================================
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
13 * http://www.apache.org/licenses/LICENSE-2.0
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.
21 * ECOMP is a trademark and service mark of AT&T Intellectual Property.
22 * ============LICENSE_END=========================================================
26 package org.onap.appc.test;
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;
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
39 public class InterceptLogger implements org.slf4j.Logger {
42 * This inner class represents an intercepted log event.
44 public class LogRecord {
46 private String message;
47 private long timestamp;
50 public LogRecord(Level level, String message) {
52 setTimestamp(System.currentTimeMillis());
56 public LogRecord(Level level, String message, Throwable t) {
62 * @return the value of level
64 public Level getLevel() {
69 * @return the value of message
71 public String getMessage() {
76 * @return the value of timestamp
78 public long getTimestamp() {
83 * @param level the value for level
85 public void setLevel(Level level) {
90 * @param message the value for message
92 public void setMessage(String message) {
93 this.message = message;
97 * @param timestamp the value for timestamp
99 public void setTimestamp(long timestamp) {
100 this.timestamp = timestamp;
104 * @return the value of t
106 public Throwable getThrowable() {
111 * @param t the value for t
113 public void setThrowable(Throwable t) {
120 * The list of all intercepted log events
122 private List<LogRecord> events;
125 * Create the intercept logger
127 public InterceptLogger() {
128 events = new ArrayList<LogRecord>(1000);
132 * @return Returns all intercepted log events
134 public List<LogRecord> getLogRecords() {
139 * Clears all log events
141 public void clear() {
146 public void debug(Marker marker, String msg) {
151 public void debug(Marker marker, String format, Object arg) {
152 debug(MessageFormat.format(format, arg));
156 public void debug(Marker marker, String format, Object... arguments) {
157 debug(MessageFormat.format(format, arguments));
161 public void debug(Marker marker, String format, Object arg1, Object arg2) {
162 debug(MessageFormat.format(format, arg1, arg2));
166 public void debug(Marker marker, String msg, Throwable t) {
171 public void debug(String msg) {
172 events.add(new LogRecord(Level.DEBUG, msg));
176 public void debug(String format, Object arg) {
177 events.add(new LogRecord(Level.DEBUG, MessageFormat.format(format, arg)));
181 public void debug(String format, Object... arguments) {
182 events.add(new LogRecord(Level.DEBUG, MessageFormat.format(format, arguments)));
186 public void debug(String format, Object arg1, Object arg2) {
187 events.add(new LogRecord(Level.DEBUG, MessageFormat.format(format, arg1, arg2)));
191 public void debug(String msg, Throwable t) {
192 events.add(new LogRecord(Level.DEBUG, msg, t));
196 public void error(Marker marker, String msg) {
201 public void error(Marker marker, String format, Object arg) {
206 public void error(Marker marker, String format, Object... arguments) {
207 error(format, arguments);
211 public void error(Marker marker, String format, Object arg1, Object arg2) {
212 error(format, arg1, arg2);
216 public void error(Marker marker, String msg, Throwable t) {
217 events.add(new LogRecord(Level.ERROR, msg, t));
221 public void error(String msg) {
222 events.add(new LogRecord(Level.ERROR, msg));
226 public void error(String format, Object arg) {
227 events.add(new LogRecord(Level.ERROR, MessageFormat.format(format, arg)));
231 public void error(String format, Object... arguments) {
232 events.add(new LogRecord(Level.ERROR, MessageFormat.format(format, arguments)));
236 public void error(String format, Object arg1, Object arg2) {
237 events.add(new LogRecord(Level.ERROR, MessageFormat.format(format, arg1, arg2)));
241 public void error(String msg, Throwable t) {
242 events.add(new LogRecord(Level.ERROR, msg, t));
246 public String getName() {
251 public void info(Marker marker, String msg) {
256 public void info(Marker marker, String format, Object arg) {
261 public void info(Marker marker, String format, Object... arguments) {
262 info(format, arguments);
266 public void info(Marker marker, String format, Object arg1, Object arg2) {
267 info(format, arg1, arg2);
271 public void info(Marker marker, String msg, Throwable t) {
272 events.add(new LogRecord(Level.INFO, msg, t));
276 public void info(String msg) {
277 events.add(new LogRecord(Level.INFO, msg));
281 public void info(String format, Object arg) {
282 events.add(new LogRecord(Level.INFO, MessageFormat.format(format, arg)));
286 public void info(String format, Object... arguments) {
287 events.add(new LogRecord(Level.INFO, MessageFormat.format(format, arguments)));
291 public void info(String format, Object arg1, Object arg2) {
292 events.add(new LogRecord(Level.INFO, MessageFormat.format(format, arg1, arg2)));
296 public void info(String msg, Throwable t) {
297 events.add(new LogRecord(Level.INFO, msg, t));
301 public boolean isDebugEnabled() {
306 public boolean isDebugEnabled(Marker marker) {
311 public boolean isErrorEnabled() {
316 public boolean isErrorEnabled(Marker marker) {
321 public boolean isInfoEnabled() {
326 public boolean isInfoEnabled(Marker marker) {
331 public boolean isTraceEnabled() {
336 public boolean isTraceEnabled(Marker marker) {
341 public boolean isWarnEnabled() {
346 public boolean isWarnEnabled(Marker marker) {
351 public void trace(Marker marker, String msg) {
356 public void trace(Marker marker, String format, Object arg) {
361 public void trace(Marker marker, String format, Object... argArray) {
362 trace(format, argArray);
366 public void trace(Marker marker, String format, Object arg1, Object arg2) {
367 trace(format, arg1, arg2);
371 public void trace(Marker marker, String msg, Throwable t) {
376 public void trace(String msg) {
377 events.add(new LogRecord(Level.TRACE, msg));
381 public void trace(String format, Object arg) {
382 events.add(new LogRecord(Level.TRACE, MessageFormat.format(format, arg)));
386 public void trace(String format, Object... arguments) {
387 events.add(new LogRecord(Level.TRACE, MessageFormat.format(format, arguments)));
391 public void trace(String format, Object arg1, Object arg2) {
392 events.add(new LogRecord(Level.TRACE, MessageFormat.format(format, arg1, arg2)));
396 public void trace(String msg, Throwable t) {
397 events.add(new LogRecord(Level.TRACE, msg, t));
401 public void warn(Marker marker, String msg) {
406 public void warn(Marker marker, String format, Object arg) {
411 public void warn(Marker marker, String format, Object... arguments) {
412 warn(format, arguments);
416 public void warn(Marker marker, String format, Object arg1, Object arg2) {
417 warn(format, arg1, arg2);
421 public void warn(Marker marker, String msg, Throwable t) {
422 events.add(new LogRecord(Level.WARN, msg, t));
426 public void warn(String msg) {
427 events.add(new LogRecord(Level.WARN, msg));
431 public void warn(String format, Object arg) {
432 events.add(new LogRecord(Level.WARN, MessageFormat.format(format, arg)));
436 public void warn(String format, Object... arguments) {
437 events.add(new LogRecord(Level.WARN, MessageFormat.format(format, arguments)));
441 public void warn(String format, Object arg1, Object arg2) {
442 events.add(new LogRecord(Level.WARN, MessageFormat.format(format, arg1, arg2)));
446 public void warn(String msg, Throwable t) {
447 events.add(new LogRecord(Level.WARN, msg, t));