diff --git a/common/sourceTest/java/ch/systemsx/cisd/common/logging/LogMonitoringAppender.java b/common/sourceTest/java/ch/systemsx/cisd/common/logging/LogMonitoringAppender.java index 99515bc41f55993b8fdc70b5664a30471ec2a1de..1b2877e3efd46eafcd3e214403f69235f5dd3a23 100644 --- a/common/sourceTest/java/ch/systemsx/cisd/common/logging/LogMonitoringAppender.java +++ b/common/sourceTest/java/ch/systemsx/cisd/common/logging/LogMonitoringAppender.java @@ -34,83 +34,83 @@ import ch.systemsx.cisd.common.logging.LogCategory; public final class LogMonitoringAppender extends AppenderSkeleton { - private static Map<LogMonitoringAppender, String> appenderMap = new HashMap<LogMonitoringAppender, String>(); - - private final String messagePart; - - private LogMonitoringAppender(String messagePart) - { - this.messagePart = messagePart; - } - - private boolean logHappened = false; - - /** - * Creates an appender that monitors for <var>messagePart</var> and adds it to the {@link Logger} for - * <code>category</code> and <code>clazz</code>. - * - * @return The created appender. - */ - public static synchronized LogMonitoringAppender addAppender(LogCategory category, String messagePart) - { - final LogMonitoringAppender appender = new LogMonitoringAppender(messagePart); - final String loggerName = category.name(); - Logger.getLogger(loggerName).addAppender(appender); - appenderMap.put(appender, loggerName); - return appender; - } - - /** - * Removes the given <var>appender</var>. - */ - public static synchronized void removeAppender(LogMonitoringAppender appender) - { - final String loggerName = appenderMap.get(appender); - if (loggerName != null) + private static Map<LogMonitoringAppender, String> appenderMap = new HashMap<LogMonitoringAppender, String>(); + + private final String messagePart; + + private LogMonitoringAppender(String messagePart) { - Logger.getLogger(loggerName).removeAppender(appender); - appenderMap.remove(appender); - } else + this.messagePart = messagePart; + } + + private boolean logHappened = false; + + /** + * Creates an appender that monitors for <var>messagePart</var> and adds it to the {@link Logger} for + * <code>category</code> and <code>clazz</code>. + * + * @return The created appender. + */ + public static synchronized LogMonitoringAppender addAppender(LogCategory category, String messagePart) { - // This means that the caller tries to remove the appender twice - nothing to do here really. + final LogMonitoringAppender appender = new LogMonitoringAppender(messagePart); + final String loggerName = category.name(); + Logger.getLogger(loggerName).addAppender(appender); + appenderMap.put(appender, loggerName); + return appender; } - } - private String getThrowableStr(LoggingEvent event) - { - final ThrowableInformation info = event.getThrowableInformation(); - if (info == null) + /** + * Removes the given <var>appender</var>. + */ + public static synchronized void removeAppender(LogMonitoringAppender appender) { - return ""; - } else + final String loggerName = appenderMap.get(appender); + if (loggerName != null) + { + Logger.getLogger(loggerName).removeAppender(appender); + appenderMap.remove(appender); + } else + { + // This means that the caller tries to remove the appender twice - nothing to do here really. + } + } + + private String getThrowableStr(LoggingEvent event) { - return info.getThrowableStrRep()[0]; + final ThrowableInformation info = event.getThrowableInformation(); + if (info == null) + { + return ""; + } else + { + return info.getThrowableStrRep()[0]; + } } - } - - @Override - protected void append(LoggingEvent event) - { - if (event.getMessage().toString().contains(messagePart) || getThrowableStr(event).contains(messagePart)) + + @Override + protected void append(LoggingEvent event) + { + if (event.getMessage().toString().contains(messagePart) || getThrowableStr(event).contains(messagePart)) + { + logHappened = true; + } + } + + @Override + public void close() + { + // Nothing to do here. + } + + @Override + public boolean requiresLayout() + { + return false; + } + + public void verifyLogHasHappened() { - logHappened = true; + assert logHappened : "Following log snippet has been missed: " + messagePart; } - } - - @Override - public void close() - { - // Nothing to do here. - } - - @Override - public boolean requiresLayout() - { - return false; - } - - public void verifyLogHasHappened() - { - assert logHappened : "Following log snippet has been missed: " + messagePart; - } }