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]

Reply via email to