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=========================================================
27 package org.onap.appc.test;
29 import java.text.MessageFormat;
30 import java.util.ArrayList;
31 import java.util.List;
33 import org.slf4j.Marker;
35 import ch.qos.logback.classic.Level;
38 * This class is used as an intercept logger that can be used in testing to intercept and record all messages that are
39 * logged, thus allowing a junit test case to examine the log output and make assertions.
41 public class InterceptLogger implements org.slf4j.Logger {
44 * This inner class represents an intercepted log event.
46 public class LogRecord {
48 private String message;
49 private long timestamp;
52 public LogRecord(Level level, String message) {
54 setTimestamp(System.currentTimeMillis());
58 public LogRecord(Level level, String message, Throwable t) {
64 * @return the value of level
66 public Level getLevel() {
71 * @return the value of message
73 public String getMessage() {
78 * @return the value of timestamp
80 public long getTimestamp() {
88 public void setLevel(Level level) {
94 * the value for message
96 public void setMessage(String message) {
97 this.message = message;
102 * the value for timestamp
104 public void setTimestamp(long timestamp) {
105 this.timestamp = timestamp;
109 * @return the value of t
111 public Throwable getThrowable() {
119 public void setThrowable(Throwable t) {
126 * The list of all intercepted log events
128 private List<LogRecord> events;
131 * Create the intercept logger
133 public InterceptLogger() {
134 events = new ArrayList<LogRecord>(1000);
138 * @return Returns all intercepted log events
140 public List<LogRecord> getLogRecords() {
145 * Clears all log events
147 public void clear() {
152 public void debug(Marker marker, String msg) {
157 public void debug(Marker marker, String format, Object arg) {
158 debug(MessageFormat.format(format, arg));
162 public void debug(Marker marker, String format, Object... arguments) {
163 debug(MessageFormat.format(format, arguments));
167 public void debug(Marker marker, String format, Object arg1, Object arg2) {
168 debug(MessageFormat.format(format, arg1, arg2));
172 public void debug(Marker marker, String msg, Throwable t) {
177 public void debug(String msg) {
178 events.add(new LogRecord(Level.DEBUG, msg));
182 public void debug(String format, Object arg) {
183 events.add(new LogRecord(Level.DEBUG, MessageFormat.format(format, arg)));
187 public void debug(String format, Object... arguments) {
188 events.add(new LogRecord(Level.DEBUG, MessageFormat.format(format, arguments)));
192 public void debug(String format, Object arg1, Object arg2) {
193 events.add(new LogRecord(Level.DEBUG, MessageFormat.format(format, arg1, arg2)));
197 public void debug(String msg, Throwable t) {
198 events.add(new LogRecord(Level.DEBUG, msg, t));
202 public void error(Marker marker, String msg) {
207 public void error(Marker marker, String format, Object arg) {
212 public void error(Marker marker, String format, Object... arguments) {
213 error(format, arguments);
217 public void error(Marker marker, String format, Object arg1, Object arg2) {
218 error(format, arg1, arg2);
222 public void error(Marker marker, String msg, Throwable t) {
223 events.add(new LogRecord(Level.ERROR, msg, t));
227 public void error(String msg) {
228 events.add(new LogRecord(Level.ERROR, msg));
232 public void error(String format, Object arg) {
233 events.add(new LogRecord(Level.ERROR, MessageFormat.format(format, arg)));
237 public void error(String format, Object... arguments) {
238 events.add(new LogRecord(Level.ERROR, MessageFormat.format(format, arguments)));
242 public void error(String format, Object arg1, Object arg2) {
243 events.add(new LogRecord(Level.ERROR, MessageFormat.format(format, arg1, arg2)));
247 public void error(String msg, Throwable t) {
248 events.add(new LogRecord(Level.ERROR, msg, t));
252 public String getName() {
257 public void info(Marker marker, String msg) {
262 public void info(Marker marker, String format, Object arg) {
267 public void info(Marker marker, String format, Object... arguments) {
268 info(format, arguments);
272 public void info(Marker marker, String format, Object arg1, Object arg2) {
273 info(format, arg1, arg2);
277 public void info(Marker marker, String msg, Throwable t) {
278 events.add(new LogRecord(Level.INFO, msg, t));
282 public void info(String msg) {
283 events.add(new LogRecord(Level.INFO, msg));
287 public void info(String format, Object arg) {
288 events.add(new LogRecord(Level.INFO, MessageFormat.format(format, arg)));
292 public void info(String format, Object... arguments) {
293 events.add(new LogRecord(Level.INFO, MessageFormat.format(format, arguments)));
297 public void info(String format, Object arg1, Object arg2) {
298 events.add(new LogRecord(Level.INFO, MessageFormat.format(format, arg1, arg2)));
302 public void info(String msg, Throwable t) {
303 events.add(new LogRecord(Level.INFO, msg, t));
307 public boolean isDebugEnabled() {
312 public boolean isDebugEnabled(Marker marker) {
317 public boolean isErrorEnabled() {
322 public boolean isErrorEnabled(Marker marker) {
327 public boolean isInfoEnabled() {
332 public boolean isInfoEnabled(Marker marker) {
337 public boolean isTraceEnabled() {
342 public boolean isTraceEnabled(Marker marker) {
347 public boolean isWarnEnabled() {
352 public boolean isWarnEnabled(Marker marker) {
357 public void trace(Marker marker, String msg) {
362 public void trace(Marker marker, String format, Object arg) {
367 public void trace(Marker marker, String format, Object... argArray) {
368 trace(format, argArray);
372 public void trace(Marker marker, String format, Object arg1, Object arg2) {
373 trace(format, arg1, arg2);
377 public void trace(Marker marker, String msg, Throwable t) {
382 public void trace(String msg) {
383 events.add(new LogRecord(Level.TRACE, msg));
387 public void trace(String format, Object arg) {
388 events.add(new LogRecord(Level.TRACE, MessageFormat.format(format, arg)));
392 public void trace(String format, Object... arguments) {
393 events.add(new LogRecord(Level.TRACE, MessageFormat.format(format, arguments)));
397 public void trace(String format, Object arg1, Object arg2) {
398 events.add(new LogRecord(Level.TRACE, MessageFormat.format(format, arg1, arg2)));
402 public void trace(String msg, Throwable t) {
403 events.add(new LogRecord(Level.TRACE, msg, t));
407 public void warn(Marker marker, String msg) {
412 public void warn(Marker marker, String format, Object arg) {
417 public void warn(Marker marker, String format, Object... arguments) {
418 warn(format, arguments);
422 public void warn(Marker marker, String format, Object arg1, Object arg2) {
423 warn(format, arg1, arg2);
427 public void warn(Marker marker, String msg, Throwable t) {
428 events.add(new LogRecord(Level.WARN, msg, t));
432 public void warn(String msg) {
433 events.add(new LogRecord(Level.WARN, msg));
437 public void warn(String format, Object arg) {
438 events.add(new LogRecord(Level.WARN, MessageFormat.format(format, arg)));
442 public void warn(String format, Object... arguments) {
443 events.add(new LogRecord(Level.WARN, MessageFormat.format(format, arguments)));
447 public void warn(String format, Object arg1, Object arg2) {
448 events.add(new LogRecord(Level.WARN, MessageFormat.format(format, arg1, arg2)));
452 public void warn(String msg, Throwable t) {
453 events.add(new LogRecord(Level.WARN, msg, t));