2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017-2018 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 * ============LICENSE_END=========================================================
25 package org.onap.appc.test;
27 import java.text.MessageFormat;
28 import java.util.ArrayList;
29 import java.util.List;
31 import org.slf4j.Marker;
33 import ch.qos.logback.classic.Level;
36 * This class is used as an intercept logger that can be used in testing to intercept and record all messages that are
37 * logged, thus allowing a junit test case to examine the log output and make assertions.
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() {
86 public void setLevel(Level level) {
92 * the value for message
94 public void setMessage(String message) {
95 this.message = message;
100 * the value for timestamp
102 public void setTimestamp(long timestamp) {
103 this.timestamp = timestamp;
107 * @return the value of t
109 public Throwable getThrowable() {
117 public void setThrowable(Throwable t) {
124 * The list of all intercepted log events
126 private List<LogRecord> events;
129 * Create the intercept logger
131 public InterceptLogger() {
132 events = new ArrayList<LogRecord>(1000);
136 * @return Returns all intercepted log events
138 public List<LogRecord> getLogRecords() {
143 * Clears all log events
145 public void clear() {
150 public void debug(Marker marker, String msg) {
155 public void debug(Marker marker, String format, Object arg) {
156 debug(MessageFormat.format(format, arg));
160 public void debug(Marker marker, String format, Object... arguments) {
161 debug(MessageFormat.format(format, arguments));
165 public void debug(Marker marker, String format, Object arg1, Object arg2) {
166 debug(MessageFormat.format(format, arg1, arg2));
170 public void debug(Marker marker, String msg, Throwable t) {
175 public void debug(String msg) {
176 events.add(new LogRecord(Level.DEBUG, msg));
180 public void debug(String format, Object arg) {
181 events.add(new LogRecord(Level.DEBUG, MessageFormat.format(format, arg)));
185 public void debug(String format, Object... arguments) {
186 events.add(new LogRecord(Level.DEBUG, MessageFormat.format(format, arguments)));
190 public void debug(String format, Object arg1, Object arg2) {
191 events.add(new LogRecord(Level.DEBUG, MessageFormat.format(format, arg1, arg2)));
195 public void debug(String msg, Throwable t) {
196 events.add(new LogRecord(Level.DEBUG, msg, t));
200 public void error(Marker marker, String msg) {
205 public void error(Marker marker, String format, Object arg) {
210 public void error(Marker marker, String format, Object... arguments) {
211 error(format, arguments);
215 public void error(Marker marker, String format, Object arg1, Object arg2) {
216 error(format, arg1, arg2);
220 public void error(Marker marker, String msg, Throwable t) {
221 events.add(new LogRecord(Level.ERROR, msg, t));
225 public void error(String msg) {
226 events.add(new LogRecord(Level.ERROR, msg));
230 public void error(String format, Object arg) {
231 events.add(new LogRecord(Level.ERROR, MessageFormat.format(format, arg)));
235 public void error(String format, Object... arguments) {
236 events.add(new LogRecord(Level.ERROR, MessageFormat.format(format, arguments)));
240 public void error(String format, Object arg1, Object arg2) {
241 events.add(new LogRecord(Level.ERROR, MessageFormat.format(format, arg1, arg2)));
245 public void error(String msg, Throwable t) {
246 events.add(new LogRecord(Level.ERROR, msg, t));
250 public String getName() {
255 public void info(Marker marker, String msg) {
260 public void info(Marker marker, String format, Object arg) {
265 public void info(Marker marker, String format, Object... arguments) {
266 info(format, arguments);
270 public void info(Marker marker, String format, Object arg1, Object arg2) {
271 info(format, arg1, arg2);
275 public void info(Marker marker, String msg, Throwable t) {
276 events.add(new LogRecord(Level.INFO, msg, t));
280 public void info(String msg) {
281 events.add(new LogRecord(Level.INFO, msg));
285 public void info(String format, Object arg) {
286 events.add(new LogRecord(Level.INFO, MessageFormat.format(format, arg)));
290 public void info(String format, Object... arguments) {
291 events.add(new LogRecord(Level.INFO, MessageFormat.format(format, arguments)));
295 public void info(String format, Object arg1, Object arg2) {
296 events.add(new LogRecord(Level.INFO, MessageFormat.format(format, arg1, arg2)));
300 public void info(String msg, Throwable t) {
301 events.add(new LogRecord(Level.INFO, msg, t));
305 public boolean isDebugEnabled() {
310 public boolean isDebugEnabled(Marker marker) {
315 public boolean isErrorEnabled() {
320 public boolean isErrorEnabled(Marker marker) {
325 public boolean isInfoEnabled() {
330 public boolean isInfoEnabled(Marker marker) {
335 public boolean isTraceEnabled() {
340 public boolean isTraceEnabled(Marker marker) {
345 public boolean isWarnEnabled() {
350 public boolean isWarnEnabled(Marker marker) {
355 public void trace(Marker marker, String msg) {
360 public void trace(Marker marker, String format, Object arg) {
365 public void trace(Marker marker, String format, Object... argArray) {
366 trace(format, argArray);
370 public void trace(Marker marker, String format, Object arg1, Object arg2) {
371 trace(format, arg1, arg2);
375 public void trace(Marker marker, String msg, Throwable t) {
380 public void trace(String msg) {
381 events.add(new LogRecord(Level.TRACE, msg));
385 public void trace(String format, Object arg) {
386 events.add(new LogRecord(Level.TRACE, MessageFormat.format(format, arg)));
390 public void trace(String format, Object... arguments) {
391 events.add(new LogRecord(Level.TRACE, MessageFormat.format(format, arguments)));
395 public void trace(String format, Object arg1, Object arg2) {
396 events.add(new LogRecord(Level.TRACE, MessageFormat.format(format, arg1, arg2)));
400 public void trace(String msg, Throwable t) {
401 events.add(new LogRecord(Level.TRACE, msg, t));
405 public void warn(Marker marker, String msg) {
410 public void warn(Marker marker, String format, Object arg) {
415 public void warn(Marker marker, String format, Object... arguments) {
416 warn(format, arguments);
420 public void warn(Marker marker, String format, Object arg1, Object arg2) {
421 warn(format, arg1, arg2);
425 public void warn(Marker marker, String msg, Throwable t) {
426 events.add(new LogRecord(Level.WARN, msg, t));
430 public void warn(String msg) {
431 events.add(new LogRecord(Level.WARN, msg));
435 public void warn(String format, Object arg) {
436 events.add(new LogRecord(Level.WARN, MessageFormat.format(format, arg)));
440 public void warn(String format, Object... arguments) {
441 events.add(new LogRecord(Level.WARN, MessageFormat.format(format, arguments)));
445 public void warn(String format, Object arg1, Object arg2) {
446 events.add(new LogRecord(Level.WARN, MessageFormat.format(format, arg1, arg2)));
450 public void warn(String msg, Throwable t) {
451 events.add(new LogRecord(Level.WARN, msg, t));