From 4288f6a391066e8ee3e9240d06e3dcdbd0d2239d Mon Sep 17 00:00:00 2001 From: Martin Ritchie Date: Thu, 6 Aug 2009 16:53:53 +0000 Subject: Add close to LogMonitor so we only get the messages for that test in the log file git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@801713 13f79535-47bb-0310-9956-ffa450edef68 --- .../main/java/org/apache/qpid/util/LogMonitor.java | 29 +++++++++++++++++++--- 1 file changed, 25 insertions(+), 4 deletions(-) (limited to 'java') diff --git a/java/systests/src/main/java/org/apache/qpid/util/LogMonitor.java b/java/systests/src/main/java/org/apache/qpid/util/LogMonitor.java index 84010453e1..7a045fdb9a 100644 --- a/java/systests/src/main/java/org/apache/qpid/util/LogMonitor.java +++ b/java/systests/src/main/java/org/apache/qpid/util/LogMonitor.java @@ -45,6 +45,9 @@ public class LogMonitor // The file that the log statements will be written to. private File _logfile; + // The appender we added to the get messages + private FileAppender _appender; + /** * Create a new LogMonitor that creates a new Log4j Appender and monitors * all log4j output via the current configuration. @@ -78,11 +81,11 @@ public class LogMonitor { // This is mostly for running the test outside of the ant setup _logfile = File.createTempFile("LogMonitor", ".log"); - FileAppender appender = new FileAppender(new SimpleLayout(), + _appender = new FileAppender(new SimpleLayout(), _logfile.getAbsolutePath()); - appender.setFile(_logfile.getAbsolutePath()); - appender.setImmediateFlush(true); - Logger.getRootLogger().addAppender(appender); + _appender.setFile(_logfile.getAbsolutePath()); + _appender.setImmediateFlush(true); + Logger.getRootLogger().addAppender(_appender); } } @@ -173,4 +176,22 @@ public class LogMonitor writer.write("Log Monitor Reset\n"); writer.close(); } + + /** + * Stop monitoring this file. + * + * This is required to be called incase we added a new logger. + * + * If we don't call close then the new logger will continue to get log entries + * after our desired test has finished. + */ + public void close() + { + //Remove the custom appender we added for this logger + if (_appender != null) + { + Logger.getRootLogger().removeAppender(_appender); + } + } + } -- cgit v1.2.1