blob: 7b698c2da74b4f5827ff71486b5e95bf03bca39e [file] [log] [blame]
/*******************************************************************************
* This file is part of the Virgo Web Server.
*
* Copyright (c) 2010 Eclipse Foundation.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* SpringSource, a division of VMware - initial API and implementation and/or initial documentation
*******************************************************************************/
package org.eclipse.virgo.util.io;
import java.util.ArrayList;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.Marker;
/**
* A version of {@link Logger} suitable for testing.
* <p/>
* Debug only; markers ignored; no copies made; getEntries() implemented.
* @author Steve Powell
*/
public class StubLogger implements Logger {
public class StubLogEntry {
private final String string;
private final List<Object> arg1;
private final Throwable throwable;
StubLogEntry(String string, Object[] arg1, Throwable throwable) {
this.string = string;
List<Object> list = new ArrayList<Object>();
if (arg1 != null)
for(Object o : arg1) { list.add(o); }
this.arg1 = list;
this.throwable = throwable;
}
public List<Object> getArg1() {
return this.arg1;
}
public Throwable getThrowable() {
return this.throwable;
}
public String getString() {
return this.string;
}
public String toString() {
StringBuilder sb = new StringBuilder(this.string).append(" [");
for (int i = 0; i < this.arg1.size(); ++i) {
if (i > 0)
sb.append(", ");
sb.append(this.arg1.get(i));
}
sb.append("] ").append(throwable);
return sb.toString();
}
}
private final Object monitor = new Object();
private List<StubLogEntry> entries;
private void addDebug(String string, Object[] args, Throwable t) {
synchronized (monitor) {
this.entries.add(new StubLogEntry(string, args, t));
}
}
public StubLogger() {
this.entries = new ArrayList<StubLogEntry>();
}
public List<StubLogEntry> getEntries() {
synchronized (this.monitor) {
List<StubLogEntry> list = new ArrayList<StubLogEntry>(this.entries);
return list;
}
}
/**
* {@inheritDoc}
*/
public void debug(String arg0) {
addDebug(arg0, null, null);
}
/**
* {@inheritDoc}
*/
public void debug(String arg0, Object arg1) {
Object[] args = new Object[1];
args[0] = arg1;
addDebug(arg0, args, null);
}
/**
* {@inheritDoc}
*/
public void debug(String arg0, Object... arg1) {
addDebug(arg0, arg1, null);
}
/**
* {@inheritDoc}
*/
public void debug(String arg0, Throwable arg1) {
addDebug(arg0, null, arg1);
}
/**
* {@inheritDoc}
*/
public void debug(Marker arg0, String arg1) {
addDebug(arg1, null, null);
}
/**
* {@inheritDoc}
*/
public void debug(String arg0, Object arg1, Object arg2) {
Object[] args = new Object[2];
args[0] = arg1;
args[1] = arg2;
addDebug(arg0, args, null);
}
/**
* {@inheritDoc}
*/
public void debug(Marker arg0, String arg1, Object arg2) {
Object[] args = new Object[1];
args[0] = arg2;
addDebug(arg1, args, null);
}
/**
* {@inheritDoc}
*/
public void debug(Marker arg0, String arg1, Object... arg2) {
addDebug(arg1, arg2, null);
}
/**
* {@inheritDoc}
*/
public void debug(Marker arg0, String arg1, Throwable arg2) {
addDebug(arg1, null, arg2);
}
/**
* {@inheritDoc}
*/
public void debug(Marker arg0, String arg1, Object arg2, Object arg3) {
Object[] args = new Object[2];
args[0] = arg2;
args[1] = arg3;
addDebug(arg1, args, null);
}
/**
* {@inheritDoc}
*/
public void error(String arg0) {
}
/**
* {@inheritDoc}
*/
public void error(String arg0, Object arg1) {
}
/**
* {@inheritDoc}
*/
public void error(String arg0, Object... arg1) {
}
/**
* {@inheritDoc}
*/
public void error(String arg0, Throwable arg1) {
}
/**
* {@inheritDoc}
*/
public void error(Marker arg0, String arg1) {
}
/**
* {@inheritDoc}
*/
public void error(String arg0, Object arg1, Object arg2) {
}
/**
* {@inheritDoc}
*/
public void error(Marker arg0, String arg1, Object arg2) {
}
/**
* {@inheritDoc}
*/
public void error(Marker arg0, String arg1, Object... arg2) {
}
/**
* {@inheritDoc}
*/
public void error(Marker arg0, String arg1, Throwable arg2) {
}
/**
* {@inheritDoc}
*/
public void error(Marker arg0, String arg1, Object arg2, Object arg3) {
}
/**
* {@inheritDoc}
*/
public String getName() {
return "StubLogger";
}
/**
* {@inheritDoc}
*/
public void info(String arg0) {
}
/**
* {@inheritDoc}
*/
public void info(String arg0, Object arg1) {
}
/**
* {@inheritDoc}
*/
public void info(String arg0, Object... arg1) {
}
/**
* {@inheritDoc}
*/
public void info(String arg0, Throwable arg1) {
}
/**
* {@inheritDoc}
*/
public void info(Marker arg0, String arg1) {
}
/**
* {@inheritDoc}
*/
public void info(String arg0, Object arg1, Object arg2) {
}
/**
* {@inheritDoc}
*/
public void info(Marker arg0, String arg1, Object arg2) {
}
/**
* {@inheritDoc}
*/
public void info(Marker arg0, String arg1, Object... arg2) {
}
/**
* {@inheritDoc}
*/
public void info(Marker arg0, String arg1, Throwable arg2) {
}
/**
* {@inheritDoc}
*/
public void info(Marker arg0, String arg1, Object arg2, Object arg3) {
}
/**
* {@inheritDoc}
*/
public boolean isDebugEnabled() {
return true;
}
/**
* {@inheritDoc}
*/
public boolean isDebugEnabled(Marker arg0) {
return true;
}
/**
* {@inheritDoc}
*/
public boolean isErrorEnabled() {
return false;
}
/**
* {@inheritDoc}
*/
public boolean isErrorEnabled(Marker arg0) {
return false;
}
/**
* {@inheritDoc}
*/
public boolean isInfoEnabled() {
return false;
}
/**
* {@inheritDoc}
*/
public boolean isInfoEnabled(Marker arg0) {
return false;
}
/**
* {@inheritDoc}
*/
public boolean isTraceEnabled() {
return false;
}
/**
* {@inheritDoc}
*/
public boolean isTraceEnabled(Marker arg0) {
return false;
}
/**
* {@inheritDoc}
*/
public boolean isWarnEnabled() {
return false;
}
/**
* {@inheritDoc}
*/
public boolean isWarnEnabled(Marker arg0) {
return false;
}
/**
* {@inheritDoc}
*/
public void trace(String arg0) {
}
/**
* {@inheritDoc}
*/
public void trace(String arg0, Object arg1) {
}
/**
* {@inheritDoc}
*/
public void trace(String arg0, Object... arg1) {
}
/**
* {@inheritDoc}
*/
public void trace(String arg0, Throwable arg1) {
}
/**
* {@inheritDoc}
*/
public void trace(Marker arg0, String arg1) {
}
/**
* {@inheritDoc}
*/
public void trace(String arg0, Object arg1, Object arg2) {
}
/**
* {@inheritDoc}
*/
public void trace(Marker arg0, String arg1, Object arg2) {
}
/**
* {@inheritDoc}
*/
public void trace(Marker arg0, String arg1, Object... arg2) {
}
/**
* {@inheritDoc}
*/
public void trace(Marker arg0, String arg1, Throwable arg2) {
}
/**
* {@inheritDoc}
*/
public void trace(Marker arg0, String arg1, Object arg2, Object arg3) {
}
/**
* {@inheritDoc}
*/
public void warn(String arg0) {
}
/**
* {@inheritDoc}
*/
public void warn(String arg0, Object arg1) {
}
/**
* {@inheritDoc}
*/
public void warn(String arg0, Object... arg1) {
}
/**
* {@inheritDoc}
*/
public void warn(String arg0, Throwable arg1) {
}
/**
* {@inheritDoc}
*/
public void warn(Marker arg0, String arg1) {
}
/**
* {@inheritDoc}
*/
public void warn(String arg0, Object arg1, Object arg2) {
}
/**
* {@inheritDoc}
*/
public void warn(Marker arg0, String arg1, Object arg2) {
}
/**
* {@inheritDoc}
*/
public void warn(Marker arg0, String arg1, Object... arg2) {
}
/**
* {@inheritDoc}
*/
public void warn(Marker arg0, String arg1, Throwable arg2) {
}
/**
* {@inheritDoc}
*/
public void warn(Marker arg0, String arg1, Object arg2, Object arg3) {
}
}