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=========================================================
24 package org.openecomp.appc.test;
26 import java.text.MessageFormat;
27 import java.util.ArrayList;
28 import java.util.List;
30 import org.slf4j.Marker;
32 import ch.qos.logback.classic.Level;
35 * This class is used as an intercept logger that can be used in testing to intercept and record all messages that are
36 * logged, thus allowing a junit test case to examine the log output and make assertions.
38 public class InterceptLogger implements org.slf4j.Logger {
41 * This inner class represents an intercepted log event.
43 public class LogRecord {
45 private String message;
46 private long timestamp;
49 public LogRecord(Level level, String message) {
51 setTimestamp(System.currentTimeMillis());
55 public LogRecord(Level level, String message, Throwable t) {
61 * @return the value of level
63 public Level getLevel() {
68 * @return the value of message
70 public String getMessage() {
75 * @return the value of timestamp
77 public long getTimestamp() {
85 public void setLevel(Level level) {
91 * the value for message
93 public void setMessage(String message) {
94 this.message = message;
99 * the value for timestamp
101 public void setTimestamp(long timestamp) {
102 this.timestamp = timestamp;
106 * @return the value of t
108 public Throwable getThrowable() {
116 public void setThrowable(Throwable t) {
123 * The list of all intercepted log events
125 private List<LogRecord> events;
128 * Create the intercept logger
130 public InterceptLogger() {
131 events = new ArrayList<LogRecord>(1000);
135 * @return Returns all intercepted log events
137 public List<LogRecord> getLogRecords() {
142 * Clears all log events
144 public void clear() {
149 public void debug(Marker marker, String msg) {
154 public void debug(Marker marker, String format, Object arg) {
155 debug(MessageFormat.format(format, arg));
159 public void debug(Marker marker, String format, Object... arguments) {
160 debug(MessageFormat.format(format, arguments));
164 public void debug(Marker marker, String format, Object arg1, Object arg2) {
165 debug(MessageFormat.format(format, arg1, arg2));
169 public void debug(Marker marker, String msg, Throwable t) {
174 public void debug(String msg) {
175 events.add(new LogRecord(Level.DEBUG, msg));
179 public void debug(String format, Object arg) {
180 events.add(new LogRecord(Level.DEBUG, MessageFormat.format(format, arg)));
184 public void debug(String format, Object... arguments) {
185 events.add(new LogRecord(Level.DEBUG, MessageFormat.format(format, arguments)));
189 public void debug(String format, Object arg1, Object arg2) {
190 events.add(new LogRecord(Level.DEBUG, MessageFormat.format(format, arg1, arg2)));
194 public void debug(String msg, Throwable t) {
195 events.add(new LogRecord(Level.DEBUG, msg, t));
199 public void error(Marker marker, String msg) {
204 public void error(Marker marker, String format, Object arg) {
209 public void error(Marker marker, String format, Object... arguments) {
210 error(format, arguments);
214 public void error(Marker marker, String format, Object arg1, Object arg2) {
215 error(format, arg1, arg2);
219 public void error(Marker marker, String msg, Throwable t) {
220 events.add(new LogRecord(Level.ERROR, msg, t));
224 public void error(String msg) {
225 events.add(new LogRecord(Level.ERROR, msg));
229 public void error(String format, Object arg) {
230 events.add(new LogRecord(Level.ERROR, MessageFormat.format(format, arg)));
234 public void error(String format, Object... arguments) {
235 events.add(new LogRecord(Level.ERROR, MessageFormat.format(format, arguments)));
239 public void error(String format, Object arg1, Object arg2) {
240 events.add(new LogRecord(Level.ERROR, MessageFormat.format(format, arg1, arg2)));
244 public void error(String msg, Throwable t) {
245 events.add(new LogRecord(Level.ERROR, msg, t));
249 public String getName() {
254 public void info(Marker marker, String msg) {
259 public void info(Marker marker, String format, Object arg) {
264 public void info(Marker marker, String format, Object... arguments) {
265 info(format, arguments);
269 public void info(Marker marker, String format, Object arg1, Object arg2) {
270 info(format, arg1, arg2);
274 public void info(Marker marker, String msg, Throwable t) {
275 events.add(new LogRecord(Level.INFO, msg, t));
279 public void info(String msg) {
280 events.add(new LogRecord(Level.INFO, msg));
284 public void info(String format, Object arg) {
285 events.add(new LogRecord(Level.INFO, MessageFormat.format(format, arg)));
289 public void info(String format, Object... arguments) {
290 events.add(new LogRecord(Level.INFO, MessageFormat.format(format, arguments)));
294 public void info(String format, Object arg1, Object arg2) {
295 events.add(new LogRecord(Level.INFO, MessageFormat.format(format, arg1, arg2)));
299 public void info(String msg, Throwable t) {
300 events.add(new LogRecord(Level.INFO, msg, t));
304 public boolean isDebugEnabled() {
309 public boolean isDebugEnabled(Marker marker) {
314 public boolean isErrorEnabled() {
319 public boolean isErrorEnabled(Marker marker) {
324 public boolean isInfoEnabled() {
329 public boolean isInfoEnabled(Marker marker) {
334 public boolean isTraceEnabled() {
339 public boolean isTraceEnabled(Marker marker) {
344 public boolean isWarnEnabled() {
349 public boolean isWarnEnabled(Marker marker) {
354 public void trace(Marker marker, String msg) {
359 public void trace(Marker marker, String format, Object arg) {
364 public void trace(Marker marker, String format, Object... argArray) {
365 trace(format, argArray);
369 public void trace(Marker marker, String format, Object arg1, Object arg2) {
370 trace(format, arg1, arg2);
374 public void trace(Marker marker, String msg, Throwable t) {
379 public void trace(String msg) {
380 events.add(new LogRecord(Level.TRACE, msg));
384 public void trace(String format, Object arg) {
385 events.add(new LogRecord(Level.TRACE, MessageFormat.format(format, arg)));
389 public void trace(String format, Object... arguments) {
390 events.add(new LogRecord(Level.TRACE, MessageFormat.format(format, arguments)));
394 public void trace(String format, Object arg1, Object arg2) {
395 events.add(new LogRecord(Level.TRACE, MessageFormat.format(format, arg1, arg2)));
399 public void trace(String msg, Throwable t) {
400 events.add(new LogRecord(Level.TRACE, msg, t));
404 public void warn(Marker marker, String msg) {
409 public void warn(Marker marker, String format, Object arg) {
414 public void warn(Marker marker, String format, Object... arguments) {
415 warn(format, arguments);
419 public void warn(Marker marker, String format, Object arg1, Object arg2) {
420 warn(format, arg1, arg2);
424 public void warn(Marker marker, String msg, Throwable t) {
425 events.add(new LogRecord(Level.WARN, msg, t));
429 public void warn(String msg) {
430 events.add(new LogRecord(Level.WARN, msg));
434 public void warn(String format, Object arg) {
435 events.add(new LogRecord(Level.WARN, MessageFormat.format(format, arg)));
439 public void warn(String format, Object... arguments) {
440 events.add(new LogRecord(Level.WARN, MessageFormat.format(format, arguments)));
444 public void warn(String format, Object arg1, Object arg2) {
445 events.add(new LogRecord(Level.WARN, MessageFormat.format(format, arg1, arg2)));
449 public void warn(String msg, Throwable t) {
450 events.add(new LogRecord(Level.WARN, msg, t));