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;
32 import org.slf4j.Marker;
34 import ch.qos.logback.classic.Level;
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.
40 public class InterceptLogger implements org.slf4j.Logger {
43 * This inner class represents an intercepted log event
45 public class LogRecord {
47 private String message;
48 private long timestamp;
51 public LogRecord(Level level, String message) {
53 setTimestamp(System.currentTimeMillis());
57 public LogRecord(Level level, String message, Throwable t) {
63 * @return the value of level
65 public Level getLevel() {
70 * @return the value of message
72 public String getMessage() {
77 * @return the value of timestamp
79 public long getTimestamp() {
87 public void setLevel(Level level) {
93 * the value for message
95 public void setMessage(String message) {
96 this.message = message;
101 * the value for timestamp
103 public void setTimestamp(long timestamp) {
104 this.timestamp = timestamp;
108 * @return the value of t
110 public Throwable getThrowable() {
118 public void setThrowable(Throwable t) {
125 * The list of all intercepted log events
127 private List<LogRecord> events;
130 * Create the intercept logger
132 public InterceptLogger() {
133 events = new ArrayList<LogRecord>(1000);
137 * @return Returns all intercepted log events
139 public List<LogRecord> getLogRecords() {
144 * Clears all log events
146 public void clear() {
151 public void debug(Marker marker, String msg) {
156 public void debug(Marker marker, String format, Object arg) {
157 debug(MessageFormat.format(format, arg));
161 public void debug(Marker marker, String format, Object... arguments) {
162 debug(MessageFormat.format(format, arguments));
166 public void debug(Marker marker, String format, Object arg1, Object arg2) {
167 debug(MessageFormat.format(format, arg1, arg2));
171 public void debug(Marker marker, String msg, Throwable t) {
176 public void debug(String msg) {
177 events.add(new LogRecord(Level.DEBUG, msg));
181 public void debug(String format, Object arg) {
182 events.add(new LogRecord(Level.DEBUG, MessageFormat.format(format, arg)));
186 public void debug(String format, Object... arguments) {
187 events.add(new LogRecord(Level.DEBUG, MessageFormat.format(format, arguments)));
191 public void debug(String format, Object arg1, Object arg2) {
192 events.add(new LogRecord(Level.DEBUG, MessageFormat.format(format, arg1, arg2)));
196 public void debug(String msg, Throwable t) {
197 events.add(new LogRecord(Level.DEBUG, msg, t));
201 public void error(Marker marker, String msg) {
206 public void error(Marker marker, String format, Object arg) {
211 public void error(Marker marker, String format, Object... arguments) {
212 error(format, arguments);
216 public void error(Marker marker, String format, Object arg1, Object arg2) {
217 error(format, arg1, arg2);
221 public void error(Marker marker, String msg, Throwable t) {
222 events.add(new LogRecord(Level.ERROR, msg, t));
226 public void error(String msg) {
227 events.add(new LogRecord(Level.ERROR, msg));
231 public void error(String format, Object arg) {
232 events.add(new LogRecord(Level.ERROR, MessageFormat.format(format, arg)));
236 public void error(String format, Object... arguments) {
237 events.add(new LogRecord(Level.ERROR, MessageFormat.format(format, arguments)));
241 public void error(String format, Object arg1, Object arg2) {
242 events.add(new LogRecord(Level.ERROR, MessageFormat.format(format, arg1, arg2)));
246 public void error(String msg, Throwable t) {
247 events.add(new LogRecord(Level.ERROR, msg, t));
251 public String getName() {
256 public void info(Marker marker, String msg) {
261 public void info(Marker marker, String format, Object arg) {
266 public void info(Marker marker, String format, Object... arguments) {
267 info(format, arguments);
271 public void info(Marker marker, String format, Object arg1, Object arg2) {
272 info(format, arg1, arg2);
276 public void info(Marker marker, String msg, Throwable t) {
277 events.add(new LogRecord(Level.INFO, msg, t));
281 public void info(String msg) {
282 events.add(new LogRecord(Level.INFO, msg));
286 public void info(String format, Object arg) {
287 events.add(new LogRecord(Level.INFO, MessageFormat.format(format, arg)));
291 public void info(String format, Object... arguments) {
292 events.add(new LogRecord(Level.INFO, MessageFormat.format(format, arguments)));
296 public void info(String format, Object arg1, Object arg2) {
297 events.add(new LogRecord(Level.INFO, MessageFormat.format(format, arg1, arg2)));
301 public void info(String msg, Throwable t) {
302 events.add(new LogRecord(Level.INFO, msg, t));
306 public boolean isDebugEnabled() {
311 public boolean isDebugEnabled(Marker marker) {
316 public boolean isErrorEnabled() {
321 public boolean isErrorEnabled(Marker marker) {
326 public boolean isInfoEnabled() {
331 public boolean isInfoEnabled(Marker marker) {
336 public boolean isTraceEnabled() {
341 public boolean isTraceEnabled(Marker marker) {
346 public boolean isWarnEnabled() {
351 public boolean isWarnEnabled(Marker marker) {
356 public void trace(Marker marker, String msg) {
361 public void trace(Marker marker, String format, Object arg) {
366 public void trace(Marker marker, String format, Object... argArray) {
367 trace(format, argArray);
371 public void trace(Marker marker, String format, Object arg1, Object arg2) {
372 trace(format, arg1, arg2);
376 public void trace(Marker marker, String msg, Throwable t) {
381 public void trace(String msg) {
382 events.add(new LogRecord(Level.TRACE, msg));
386 public void trace(String format, Object arg) {
387 events.add(new LogRecord(Level.TRACE, MessageFormat.format(format, arg)));
391 public void trace(String format, Object... arguments) {
392 events.add(new LogRecord(Level.TRACE, MessageFormat.format(format, arguments)));
396 public void trace(String format, Object arg1, Object arg2) {
397 events.add(new LogRecord(Level.TRACE, MessageFormat.format(format, arg1, arg2)));
401 public void trace(String msg, Throwable t) {
402 events.add(new LogRecord(Level.TRACE, msg, t));
406 public void warn(Marker marker, String msg) {
411 public void warn(Marker marker, String format, Object arg) {
416 public void warn(Marker marker, String format, Object... arguments) {
417 warn(format, arguments);
421 public void warn(Marker marker, String format, Object arg1, Object arg2) {
422 warn(format, arg1, arg2);
426 public void warn(Marker marker, String msg, Throwable t) {
427 events.add(new LogRecord(Level.WARN, msg, t));
431 public void warn(String msg) {
432 events.add(new LogRecord(Level.WARN, msg));
436 public void warn(String format, Object arg) {
437 events.add(new LogRecord(Level.WARN, MessageFormat.format(format, arg)));
441 public void warn(String format, Object... arguments) {
442 events.add(new LogRecord(Level.WARN, MessageFormat.format(format, arguments)));
446 public void warn(String format, Object arg1, Object arg2) {
447 events.add(new LogRecord(Level.WARN, MessageFormat.format(format, arg1, arg2)));
451 public void warn(String msg, Throwable t) {
452 events.add(new LogRecord(Level.WARN, msg, t));