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.openecomp.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;
94 * @see ch.qos.logback.core.spi.LifeCycle#start()
97 public void start() {}
100 * @see ch.qos.logback.core.spi.LifeCycle#stop()
103 public void stop() {}
106 public boolean isStarted() {
107 // TODO Auto-generated method stub
108 System.out.println("isStarted");
113 public void setContext(Context context) {
114 // TODO Auto-generated method stub
115 System.out.println("setContext");
120 public Context getContext() {
121 // TODO Auto-generated method stub
122 System.out.println("getContext");
127 * @see ch.qos.logback.core.spi.ContextAware#addStatus(ch.qos.logback.core.status.Status)
130 public void addStatus(Status status) {
131 // TODO Auto-generated method stub
132 System.out.println("addStatus");
136 * @see ch.qos.logback.core.spi.ContextAware#addInfo(java.lang.String)
139 public void addInfo(String msg) {
140 // TODO Auto-generated method stub
145 * @see ch.qos.logback.core.spi.ContextAware#addInfo(java.lang.String, java.lang.Throwable)
148 public void addInfo(String msg, Throwable ex) {
149 // TODO Auto-generated method stub
154 * @see ch.qos.logback.core.spi.ContextAware#addWarn(java.lang.String)
157 public void addWarn(String msg) {
158 // TODO Auto-generated method stub
163 * @see ch.qos.logback.core.spi.ContextAware#addWarn(java.lang.String, java.lang.Throwable)
166 public void addWarn(String msg, Throwable ex) {
167 // TODO Auto-generated method stub
172 * @see ch.qos.logback.core.spi.ContextAware#addError(java.lang.String)
175 public void addError(String msg) {
176 // TODO Auto-generated method stub
181 * @see ch.qos.logback.core.spi.ContextAware#addError(java.lang.String, java.lang.Throwable)
184 public void addError(String msg, Throwable ex) {
185 // TODO Auto-generated method stub
190 * @see ch.qos.logback.core.spi.FilterAttachable#addFilter(ch.qos.logback.core.filter.Filter)
193 public void addFilter(Filter newFilter) {
194 // TODO Auto-generated method stub
199 * @see ch.qos.logback.core.spi.FilterAttachable#clearAllFilters()
202 public void clearAllFilters() {
203 // TODO Auto-generated method stub
208 public List getCopyOfAttachedFiltersList() {
209 // TODO Auto-generated method stub
214 * @see ch.qos.logback.core.spi.FilterAttachable#getFilterChainDecision(java.lang.Object)
217 public FilterReply getFilterChainDecision(Object event) {
218 // TODO Auto-generated method stub
223 public String getName() {
224 // TODO Auto-generated method stub
225 System.out.println("getName");
230 * @see ch.qos.logback.core.Appender#doAppend(java.lang.Object)
233 public void doAppend(Object event) throws LogbackException {
234 // TODO Auto-generated method stub
235 // System.out.println("doAppend(), event = " + event);
236 // System.out.println("event class = " + event.getClass().getSimpleName());
237 capturedLogs.add((LoggingEvent) event);
241 public void setName(String name) {
242 // TODO Auto-generated method stub
243 System.out.println("setName() name = " + name);