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=========================================================
24 package org.onap.appc.test;
26 import java.text.MessageFormat;
27 import java.util.ArrayList;
28 import java.util.List;
29 import org.slf4j.Marker;
30 import ch.qos.logback.classic.Level;
33 * This class is used as an intercept logger that can be used in testing to intercept and record all
34 * messages that are logged, thus allowing a junit test case to examine the log output and make
37 public class InterceptLogger implements org.slf4j.Logger {
40 * This inner class represents an intercepted log event.
42 public class LogRecord {
44 private String message;
45 private long timestamp;
48 public LogRecord(Level level, String message) {
50 setTimestamp(System.currentTimeMillis());
54 public LogRecord(Level level, String message, Throwable t) {
60 * @return the value of level
62 public Level getLevel() {
67 * @return the value of message
69 public String getMessage() {
74 * @return the value of timestamp
76 public long getTimestamp() {
81 * @param level the value for level
83 public void setLevel(Level level) {
88 * @param message the value for message
90 public void setMessage(String message) {
91 this.message = message;
95 * @param timestamp the value for timestamp
97 public void setTimestamp(long timestamp) {
98 this.timestamp = timestamp;
102 * @return the value of t
104 public Throwable getThrowable() {
109 * @param t the value for t
111 public void setThrowable(Throwable t) {
118 * The list of all intercepted log events
120 private List<LogRecord> events;
123 * Create the intercept logger
125 public InterceptLogger() {
126 events = new ArrayList<LogRecord>(1000);
130 * @return Returns all intercepted log events
132 public List<LogRecord> getLogRecords() {
137 * Clears all log events
139 public void clear() {
144 public void debug(Marker marker, String msg) {
149 public void debug(Marker marker, String format, Object arg) {
150 debug(MessageFormat.format(format, arg));
154 public void debug(Marker marker, String format, Object... arguments) {
155 debug(MessageFormat.format(format, arguments));
159 public void debug(Marker marker, String format, Object arg1, Object arg2) {
160 debug(MessageFormat.format(format, arg1, arg2));
164 public void debug(Marker marker, String msg, Throwable t) {
169 public void debug(String msg) {
170 events.add(new LogRecord(Level.DEBUG, msg));
174 public void debug(String format, Object arg) {
175 events.add(new LogRecord(Level.DEBUG, MessageFormat.format(format, arg)));
179 public void debug(String format, Object... arguments) {
180 events.add(new LogRecord(Level.DEBUG, MessageFormat.format(format, arguments)));
184 public void debug(String format, Object arg1, Object arg2) {
185 events.add(new LogRecord(Level.DEBUG, MessageFormat.format(format, arg1, arg2)));
189 public void debug(String msg, Throwable t) {
190 events.add(new LogRecord(Level.DEBUG, msg, t));
194 public void error(Marker marker, String msg) {
199 public void error(Marker marker, String format, Object arg) {
204 public void error(Marker marker, String format, Object... arguments) {
205 error(format, arguments);
209 public void error(Marker marker, String format, Object arg1, Object arg2) {
210 error(format, arg1, arg2);
214 public void error(Marker marker, String msg, Throwable t) {
215 events.add(new LogRecord(Level.ERROR, msg, t));
219 public void error(String msg) {
220 events.add(new LogRecord(Level.ERROR, msg));
224 public void error(String format, Object arg) {
225 events.add(new LogRecord(Level.ERROR, MessageFormat.format(format, arg)));
229 public void error(String format, Object... arguments) {
230 events.add(new LogRecord(Level.ERROR, MessageFormat.format(format, arguments)));
234 public void error(String format, Object arg1, Object arg2) {
235 events.add(new LogRecord(Level.ERROR, MessageFormat.format(format, arg1, arg2)));
239 public void error(String msg, Throwable t) {
240 events.add(new LogRecord(Level.ERROR, msg, t));
244 public String getName() {
249 public void info(Marker marker, String msg) {
254 public void info(Marker marker, String format, Object arg) {
259 public void info(Marker marker, String format, Object... arguments) {
260 info(format, arguments);
264 public void info(Marker marker, String format, Object arg1, Object arg2) {
265 info(format, arg1, arg2);
269 public void info(Marker marker, String msg, Throwable t) {
270 events.add(new LogRecord(Level.INFO, msg, t));
274 public void info(String msg) {
275 events.add(new LogRecord(Level.INFO, msg));
279 public void info(String format, Object arg) {
280 events.add(new LogRecord(Level.INFO, MessageFormat.format(format, arg)));
284 public void info(String format, Object... arguments) {
285 events.add(new LogRecord(Level.INFO, MessageFormat.format(format, arguments)));
289 public void info(String format, Object arg1, Object arg2) {
290 events.add(new LogRecord(Level.INFO, MessageFormat.format(format, arg1, arg2)));
294 public void info(String msg, Throwable t) {
295 events.add(new LogRecord(Level.INFO, msg, t));
299 public boolean isDebugEnabled() {
304 public boolean isDebugEnabled(Marker marker) {
309 public boolean isErrorEnabled() {
314 public boolean isErrorEnabled(Marker marker) {
319 public boolean isInfoEnabled() {
324 public boolean isInfoEnabled(Marker marker) {
329 public boolean isTraceEnabled() {
334 public boolean isTraceEnabled(Marker marker) {
339 public boolean isWarnEnabled() {
344 public boolean isWarnEnabled(Marker marker) {
349 public void trace(Marker marker, String msg) {
354 public void trace(Marker marker, String format, Object arg) {
359 public void trace(Marker marker, String format, Object... argArray) {
360 trace(format, argArray);
364 public void trace(Marker marker, String format, Object arg1, Object arg2) {
365 trace(format, arg1, arg2);
369 public void trace(Marker marker, String msg, Throwable t) {
374 public void trace(String msg) {
375 events.add(new LogRecord(Level.TRACE, msg));
379 public void trace(String format, Object arg) {
380 events.add(new LogRecord(Level.TRACE, MessageFormat.format(format, arg)));
384 public void trace(String format, Object... arguments) {
385 events.add(new LogRecord(Level.TRACE, MessageFormat.format(format, arguments)));
389 public void trace(String format, Object arg1, Object arg2) {
390 events.add(new LogRecord(Level.TRACE, MessageFormat.format(format, arg1, arg2)));
394 public void trace(String msg, Throwable t) {
395 events.add(new LogRecord(Level.TRACE, msg, t));
399 public void warn(Marker marker, String msg) {
404 public void warn(Marker marker, String format, Object arg) {
409 public void warn(Marker marker, String format, Object... arguments) {
410 warn(format, arguments);
414 public void warn(Marker marker, String format, Object arg1, Object arg2) {
415 warn(format, arg1, arg2);
419 public void warn(Marker marker, String msg, Throwable t) {
420 events.add(new LogRecord(Level.WARN, msg, t));
424 public void warn(String msg) {
425 events.add(new LogRecord(Level.WARN, msg));
429 public void warn(String format, Object arg) {
430 events.add(new LogRecord(Level.WARN, MessageFormat.format(format, arg)));
434 public void warn(String format, Object... arguments) {
435 events.add(new LogRecord(Level.WARN, MessageFormat.format(format, arguments)));
439 public void warn(String format, Object arg1, Object arg2) {
440 events.add(new LogRecord(Level.WARN, MessageFormat.format(format, arg1, arg2)));
444 public void warn(String msg, Throwable t) {
445 events.add(new LogRecord(Level.WARN, msg, t));