2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights
7 * ================================================================================
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 * ============LICENSE_END=========================================================
23 package org.openecomp.appc.test;
25 import java.text.MessageFormat;
26 import java.util.ArrayList;
27 import java.util.List;
29 import org.slf4j.Marker;
31 import ch.qos.logback.classic.Level;
34 * This class is used as an intercept logger that can be used in testing to intercept and record all messages that are
35 * logged, thus allowing a junit test case to examine the log output and make assertions.
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() {
84 public void setLevel(Level level) {
90 * the value for message
92 public void setMessage(String message) {
93 this.message = message;
98 * the value for timestamp
100 public void setTimestamp(long timestamp) {
101 this.timestamp = timestamp;
105 * @return the value of t
107 public Throwable getThrowable() {
115 public void setThrowable(Throwable t) {
122 * The list of all intercepted log events
124 private List<LogRecord> events;
127 * Create the intercept logger
129 public InterceptLogger() {
130 events = new ArrayList<LogRecord>(1000);
134 * @return Returns all intercepted log events
136 public List<LogRecord> getLogRecords() {
141 * Clears all log events
143 public void clear() {
148 public void debug(Marker marker, String msg) {
153 public void debug(Marker marker, String format, Object arg) {
154 debug(MessageFormat.format(format, arg));
158 public void debug(Marker marker, String format, Object... arguments) {
159 debug(MessageFormat.format(format, arguments));
163 public void debug(Marker marker, String format, Object arg1, Object arg2) {
164 debug(MessageFormat.format(format, arg1, arg2));
168 public void debug(Marker marker, String msg, Throwable t) {
173 public void debug(String msg) {
174 events.add(new LogRecord(Level.DEBUG, msg));
178 public void debug(String format, Object arg) {
179 events.add(new LogRecord(Level.DEBUG, MessageFormat.format(format, arg)));
183 public void debug(String format, Object... arguments) {
184 events.add(new LogRecord(Level.DEBUG, MessageFormat.format(format, arguments)));
188 public void debug(String format, Object arg1, Object arg2) {
189 events.add(new LogRecord(Level.DEBUG, MessageFormat.format(format, arg1, arg2)));
193 public void debug(String msg, Throwable t) {
194 events.add(new LogRecord(Level.DEBUG, msg, t));
198 public void error(Marker marker, String msg) {
203 public void error(Marker marker, String format, Object arg) {
208 public void error(Marker marker, String format, Object... arguments) {
209 error(format, arguments);
213 public void error(Marker marker, String format, Object arg1, Object arg2) {
214 error(format, arg1, arg2);
218 public void error(Marker marker, String msg, Throwable t) {
219 events.add(new LogRecord(Level.ERROR, msg, t));
223 public void error(String msg) {
224 events.add(new LogRecord(Level.ERROR, msg));
228 public void error(String format, Object arg) {
229 events.add(new LogRecord(Level.ERROR, MessageFormat.format(format, arg)));
233 public void error(String format, Object... arguments) {
234 events.add(new LogRecord(Level.ERROR, MessageFormat.format(format, arguments)));
238 public void error(String format, Object arg1, Object arg2) {
239 events.add(new LogRecord(Level.ERROR, MessageFormat.format(format, arg1, arg2)));
243 public void error(String msg, Throwable t) {
244 events.add(new LogRecord(Level.ERROR, msg, t));
248 public String getName() {
253 public void info(Marker marker, String msg) {
258 public void info(Marker marker, String format, Object arg) {
263 public void info(Marker marker, String format, Object... arguments) {
264 info(format, arguments);
268 public void info(Marker marker, String format, Object arg1, Object arg2) {
269 info(format, arg1, arg2);
273 public void info(Marker marker, String msg, Throwable t) {
274 events.add(new LogRecord(Level.INFO, msg, t));
278 public void info(String msg) {
279 events.add(new LogRecord(Level.INFO, msg));
283 public void info(String format, Object arg) {
284 events.add(new LogRecord(Level.INFO, MessageFormat.format(format, arg)));
288 public void info(String format, Object... arguments) {
289 events.add(new LogRecord(Level.INFO, MessageFormat.format(format, arguments)));
293 public void info(String format, Object arg1, Object arg2) {
294 events.add(new LogRecord(Level.INFO, MessageFormat.format(format, arg1, arg2)));
298 public void info(String msg, Throwable t) {
299 events.add(new LogRecord(Level.INFO, msg, t));
303 public boolean isDebugEnabled() {
308 public boolean isDebugEnabled(Marker marker) {
313 public boolean isErrorEnabled() {
318 public boolean isErrorEnabled(Marker marker) {
323 public boolean isInfoEnabled() {
328 public boolean isInfoEnabled(Marker marker) {
333 public boolean isTraceEnabled() {
338 public boolean isTraceEnabled(Marker marker) {
343 public boolean isWarnEnabled() {
348 public boolean isWarnEnabled(Marker marker) {
353 public void trace(Marker marker, String msg) {
358 public void trace(Marker marker, String format, Object arg) {
363 public void trace(Marker marker, String format, Object... argArray) {
364 trace(format, argArray);
368 public void trace(Marker marker, String format, Object arg1, Object arg2) {
369 trace(format, arg1, arg2);
373 public void trace(Marker marker, String msg, Throwable t) {
378 public void trace(String msg) {
379 events.add(new LogRecord(Level.TRACE, msg));
383 public void trace(String format, Object arg) {
384 events.add(new LogRecord(Level.TRACE, MessageFormat.format(format, arg)));
388 public void trace(String format, Object... arguments) {
389 events.add(new LogRecord(Level.TRACE, MessageFormat.format(format, arguments)));
393 public void trace(String format, Object arg1, Object arg2) {
394 events.add(new LogRecord(Level.TRACE, MessageFormat.format(format, arg1, arg2)));
398 public void trace(String msg, Throwable t) {
399 events.add(new LogRecord(Level.TRACE, msg, t));
403 public void warn(Marker marker, String msg) {
408 public void warn(Marker marker, String format, Object arg) {
413 public void warn(Marker marker, String format, Object... arguments) {
414 warn(format, arguments);
418 public void warn(Marker marker, String format, Object arg1, Object arg2) {
419 warn(format, arg1, arg2);
423 public void warn(Marker marker, String msg, Throwable t) {
424 events.add(new LogRecord(Level.WARN, msg, t));
428 public void warn(String msg) {
429 events.add(new LogRecord(Level.WARN, msg));
433 public void warn(String format, Object arg) {
434 events.add(new LogRecord(Level.WARN, MessageFormat.format(format, arg)));
438 public void warn(String format, Object... arguments) {
439 events.add(new LogRecord(Level.WARN, MessageFormat.format(format, arguments)));
443 public void warn(String format, Object arg1, Object arg2) {
444 events.add(new LogRecord(Level.WARN, MessageFormat.format(format, arg1, arg2)));
448 public void warn(String msg, Throwable t) {
449 events.add(new LogRecord(Level.WARN, msg, t));