2 * ============LICENSE_START===================================================
3 * SPARKY (AAI UI service)
4 * ============================================================================
5 * Copyright © 2017 AT&T Intellectual Property.
6 * Copyright © 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.
20 * ============LICENSE_END=====================================================
22 * ECOMP and OpenECOMP are trademarks
23 * and service marks of AT&T Intellectual Property.
26 package org.onap.aai.sparky.util;
28 import java.util.ArrayList;
29 import java.util.Deque;
30 import java.util.List;
31 import java.util.concurrent.ConcurrentLinkedDeque;
33 import ch.qos.logback.classic.spi.LoggingEvent;
34 import ch.qos.logback.core.Appender;
35 import ch.qos.logback.core.Context;
36 import ch.qos.logback.core.LogbackException;
37 import ch.qos.logback.core.filter.Filter;
38 import ch.qos.logback.core.spi.FilterReply;
39 import ch.qos.logback.core.status.Status;
42 * A test class used to provide a concrete log stub of the Log4j API interface. The goal is to
43 * transparently capture logging paths so we can add log validation during the junit validation
44 * without post-analyzing on-disk logs.
49 @SuppressWarnings("rawtypes")
50 public class CaptureLoggerAppender implements Appender {
52 private Deque<LoggingEvent> capturedLogs;
55 * Instantiates a new capture logger appender.
57 public CaptureLoggerAppender() {
58 capturedLogs = new ConcurrentLinkedDeque<LoggingEvent>();
66 public List<LoggingEvent> drainAllLogs() {
67 List<LoggingEvent> loggingEvents = new ArrayList<LoggingEvent>();
69 LoggingEvent event = null;
71 while (capturedLogs.peek() != null) {
72 event = capturedLogs.pop();
73 loggingEvents.add(event);
80 * Clears the capture logs double-ended queue and returns the size of the queue before it was
83 * @return int numCapturedLogs
85 public int clearAllLogs() {
86 int numCapturedLogs = capturedLogs.size();
88 return numCapturedLogs;
96 * @see ch.qos.logback.core.spi.LifeCycle#start()
99 public void start() {}
104 * @see ch.qos.logback.core.spi.LifeCycle#stop()
107 public void stop() {}
110 public boolean isStarted() {
111 // TODO Auto-generated method stub
112 System.out.println("isStarted");
117 public void setContext(Context context) {
118 // TODO Auto-generated method stub
119 System.out.println("setContext");
124 public Context getContext() {
125 // TODO Auto-generated method stub
126 System.out.println("getContext");
133 * @see ch.qos.logback.core.spi.ContextAware#addStatus(ch.qos.logback.core.status.Status)
136 public void addStatus(Status status) {
137 // TODO Auto-generated method stub
138 System.out.println("addStatus");
144 * @see ch.qos.logback.core.spi.ContextAware#addInfo(java.lang.String)
147 public void addInfo(String msg) {
148 // TODO Auto-generated method stub
155 * @see ch.qos.logback.core.spi.ContextAware#addInfo(java.lang.String, java.lang.Throwable)
158 public void addInfo(String msg, Throwable ex) {
159 // TODO Auto-generated method stub
166 * @see ch.qos.logback.core.spi.ContextAware#addWarn(java.lang.String)
169 public void addWarn(String msg) {
170 // TODO Auto-generated method stub
177 * @see ch.qos.logback.core.spi.ContextAware#addWarn(java.lang.String, java.lang.Throwable)
180 public void addWarn(String msg, Throwable ex) {
181 // TODO Auto-generated method stub
188 * @see ch.qos.logback.core.spi.ContextAware#addError(java.lang.String)
191 public void addError(String msg) {
192 // TODO Auto-generated method stub
199 * @see ch.qos.logback.core.spi.ContextAware#addError(java.lang.String, java.lang.Throwable)
202 public void addError(String msg, Throwable ex) {
203 // TODO Auto-generated method stub
210 * @see ch.qos.logback.core.spi.FilterAttachable#addFilter(ch.qos.logback.core.filter.Filter)
213 public void addFilter(Filter newFilter) {
214 // TODO Auto-generated method stub
221 * @see ch.qos.logback.core.spi.FilterAttachable#clearAllFilters()
224 public void clearAllFilters() {
225 // TODO Auto-generated method stub
230 public List getCopyOfAttachedFiltersList() {
231 // TODO Auto-generated method stub
238 * @see ch.qos.logback.core.spi.FilterAttachable#getFilterChainDecision(java.lang.Object)
241 public FilterReply getFilterChainDecision(Object event) {
242 // TODO Auto-generated method stub
247 public String getName() {
248 // TODO Auto-generated method stub
249 System.out.println("getName");
256 * @see ch.qos.logback.core.Appender#doAppend(java.lang.Object)
259 public void doAppend(Object event) throws LogbackException {
260 // TODO Auto-generated method stub
261 // System.out.println("doAppend(), event = " + event);
262 // System.out.println("event class = " + event.getClass().getSimpleName());
263 capturedLogs.add((LoggingEvent) event);
267 public void setName(String name) {
268 // TODO Auto-generated method stub
269 System.out.println("setName() name = " + name);