sebb 2003/12/06 05:27:19
Modified: src/jorphan/org/apache/jorphan/logging LoggingManager.java
Log:
Don't close log file if it is assigned to System.out
Revision Changes Path
1.6 +10 -2
jakarta-jmeter/src/jorphan/org/apache/jorphan/logging/LoggingManager.java
Index: LoggingManager.java
===================================================================
RCS file:
/home/cvs/jakarta-jmeter/src/jorphan/org/apache/jorphan/logging/LoggingManager.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- LoggingManager.java 18 Aug 2003 19:42:02 -0000 1.5
+++ LoggingManager.java 6 Dec 2003 13:27:19 -0000 1.6
@@ -82,6 +82,10 @@
/** Used to hold the default logging target. */
private static LogTarget target;
+
+ // Hack to detect when System.out has been set as the target, to avoid closing
it
+ private static boolean isTargetSystemOut = false;// Is the target System.out?
+ private static boolean isWriterSystemOut = false;// Is the Writer System.out?
public final static String LOG_FILE = "log_file";
public final static String LOG_PRIORITY = "log_level";
@@ -132,6 +136,7 @@
private static Writer makeWriter(String logFile, String propName)
{
Writer wt;
+ isWriterSystemOut=false;
try
{
wt = new FileWriter(logFile);
@@ -140,6 +145,7 @@
{
System.out.println(propName + "=" + logFile + " " + e.toString());
System.out.println("[" + propName + "-> System.out]");
+ isWriterSystemOut=true;
wt = new PrintWriter(System.out);
}
return wt;
@@ -254,14 +260,16 @@
if (target == null)
{
target = new WriterTarget(targetFile, format);
+ isTargetSystemOut=isWriterSystemOut;
}
else
{
- if (target instanceof WriterTarget)
+ if (!isTargetSystemOut && target instanceof WriterTarget)
{
((WriterTarget) target).close();
}
target = new WriterTarget(targetFile, format);
+ isTargetSystemOut=isWriterSystemOut;
}
Hierarchy.getDefaultHierarchy().setDefaultLogTarget(target);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]