Skip to content
Snippets Groups Projects
Commit f687b524 authored by felmer's avatar felmer
Browse files

BIS-183 extend ISimpleLogger by a method with optional Throwable as an argument

SVN: 26602
parent dac8580c
No related branches found
No related tags found
No related merge requests found
......@@ -60,6 +60,12 @@ public class AntTaskSimpleLoggerAdapter implements ISimpleLogger
@Override
public void log(LogLevel level, String message)
{
log(level, message, null);
}
@Override
public void log(LogLevel level, String message, Throwable throwableOrNull)
{
antTask.log(message, toAntLogLevel(level));
}
......
......@@ -30,4 +30,14 @@ public class ConsoleLogger implements ISimpleLogger
System.out.println(level.toString() + ": " + message);
}
@Override
public void log(LogLevel level, String message, Throwable throwableOrNull)
{
log(level, message);
if (throwableOrNull != null)
{
throwableOrNull.printStackTrace();
}
}
}
......@@ -26,5 +26,10 @@ public interface ISimpleLogger
/** Log <var>message</var> at log <var>level</var> out to some log file or display. */
public void log(LogLevel level, String message);
/**
* Logs for specified level the specified message with an optional throwable.
*/
public void log(LogLevel level, String message, Throwable throwableOrNull);
}
......@@ -83,13 +83,19 @@ public class Log4jSimpleLogger implements ISimpleLogger
@Override
public void log(final LogLevel level, final String message)
{
log(level, message, null);
}
@Override
public void log(LogLevel level, String message, Throwable throwableOrNull)
{
if (log4jOverridePriorityOrNull != null)
{
log4jLogger.log(log4jOverridePriorityOrNull, message);
} else
{
log4jLogger.log(toLog4jPriority(level), message);
log4jLogger.log(toLog4jPriority(level), message, null);
}
}
......
......@@ -17,6 +17,7 @@
package ch.systemsx.cisd.common.logging;
import static org.testng.AssertJUnit.assertEquals;
import static org.testng.AssertJUnit.assertNotNull;
import static org.testng.AssertJUnit.assertTrue;
import java.util.ArrayList;
......@@ -34,7 +35,13 @@ public class AssertingLogger implements ISimpleLogger
@Override
public void log(final LogLevel level, final String message)
{
records.add(new LogRecord(level, message));
log(level, message, null);
}
@Override
public void log(LogLevel level, String message, Throwable throwableOrNull)
{
records.add(new LogRecord(level, message, throwableOrNull));
}
public void assertNumberOfMessage(final int expectedNumberOfMessages)
......@@ -56,6 +63,21 @@ public class AssertingLogger implements ISimpleLogger
message, pattern);
assertTrue(assertError, message.matches(pattern));
}
public void assertThrowable(int i, LogLevel expectedLevel,
Class<? extends Throwable> throwableClass, String throwableMessagePattern)
{
LogRecord record = records.get(i);
assertEquals(expectedLevel, record.level);
Throwable throwable = record.throwableOrNull;
assertNotNull(throwable);
assertEquals(throwableClass.getName(), throwable.getClass().getName());
String message = throwable.getMessage();
String assertError =
String.format("Throwable message '%s' does not matches speficied pattern '%s'",
message, throwableMessagePattern);
assertTrue(assertError, message.matches(throwableMessagePattern));
}
private static class LogRecord
{
......@@ -63,10 +85,13 @@ public class AssertingLogger implements ISimpleLogger
final String message;
LogRecord(final LogLevel level, final String message)
final Throwable throwableOrNull;
LogRecord(final LogLevel level, final String message, Throwable throwableOrNull)
{
this.level = level;
this.message = message;
this.throwableOrNull = throwableOrNull;
}
}
}
\ No newline at end of file
......@@ -32,11 +32,17 @@ public final class MockLogger implements ISimpleLogger
@Override
public void log(LogLevel level, String message)
{
log(level, message, null);
}
@Override
public void log(LogLevel level, String message, Throwable throwableOrNull)
{
builder.append(level).append(": ").append(message).append('\n');
messageChannel.send(message);
}
public void assertNextLogMessage(String expectedMessage)
{
messageChannel.assertNextMessage(expectedMessage);
......
......@@ -185,11 +185,16 @@ public final class FileStoreRemoteMounted extends AbstractFileStore
@Override
public void log(LogLevel level, String message)
{
log(level, message, null);
}
@Override
public void log(LogLevel level, String message, Throwable throwableOrNull)
{
this.storedLevel = level;
this.storedMessage = message;
}
}
@SuppressWarnings("null")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment