sebb        2004/03/20 06:49:58

  Modified:    src/jorphan/org/apache/jorphan/logging LoggingManager.java
  Log:
  Allow log format to be over-ridden
  
  Revision  Changes    Path
  1.11      +57 -10    
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.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- LoggingManager.java       14 Feb 2004 20:00:35 -0000      1.10
  +++ LoggingManager.java       20 Mar 2004 14:49:58 -0000      1.11
  @@ -24,6 +24,7 @@
   import java.util.Iterator;
   import java.util.Properties;
   
  +import org.apache.jmeter.util.JMeterUtils;
   import org.apache.jorphan.util.ClassContext;
   import org.apache.log.Hierarchy;
   import org.apache.log.LogTarget;
  @@ -39,12 +40,58 @@
    */
   public final class LoggingManager
   {
  -    private static PatternFormatter format =
  -        new PatternFormatter(
  -            "%{time:yyyy/MM/dd HH:mm:ss} %5.5{priority} - "
  -                + "%{category}: %{message} %{throwable}\n");
  -           // time pattern is passed to java.text.SimpleDateFormat
  +     // N.B  time pattern is passed to java.text.SimpleDateFormat
  +     /*
  +      * Predefined format patterns, selected by the property log_format_type
  +      * (see jmeter.properties)
  +      * The new-line is added later
  +      */
  +     private static final String DEFAULT_PATTERN =
  +             "%{time:yyyy/MM/dd HH:mm:ss} %5.5{priority} - "
  +        + "%{category}: %{message} %{throwable}";
  +     
  +     private static final String PATTERN_THREAD_PREFIX =
  +             "%{time:yyyy/MM/dd HH:mm:ss} %5.5{priority} "
  +        + "%12{thread} %{category}: %{message} %{throwable}";
  +
  +     private static final String PATTERN_THREAD_SUFFIX =
  +             "%{time:yyyy/MM/dd HH:mm:ss} %5.5{priority} "
  +        + "%{category}[%{thread}]: %{message} %{throwable}";
  +
  +     private static PatternFormatter getFormat()
  +     {
  +             if (savedFormat == null)
  +             {
  +                     String pattern = DEFAULT_PATTERN;
  +                     String type = JMeterUtils.getPropDefault("log_format_type","");
  +                     if (type.length()==0)
  +                     {
  +                             
pattern=JMeterUtils.getPropDefault("log_format",DEFAULT_PATTERN);
  +                     }
  +                     else
  +                     {
  +                             if (type.equalsIgnoreCase("thread_suffix"))
  +                             {
  +                                     pattern=PATTERN_THREAD_SUFFIX;
  +                             }
  +                             else 
  +                             if (type.equalsIgnoreCase("thread_prefix"))
  +                             {
  +                                     pattern=PATTERN_THREAD_PREFIX;
  +                             }
  +                             else
  +                             {
  +                                     pattern=DEFAULT_PATTERN;
  +                             }
  +                     }
  +                     savedFormat = new PatternFormatter(pattern+"\n");
  +             }
  +             return savedFormat;
  +     }
   
  +
  +     private static PatternFormatter savedFormat = null;
  +     
       /** Used to hold the default logging target. */
       private static LogTarget target;
       
  @@ -138,7 +185,7 @@
                   String category = prop.substring(LOG_FILE.length() + 1);
                   String file = appProperties.getProperty(prop);
                   setTarget(
  -                    new WriterTarget(makeWriter(file, prop), format),
  +                    new WriterTarget(makeWriter(file, prop), getFormat()),
                       category);
               }
           }
  @@ -212,7 +259,7 @@
       {
           if (target == null)
           {
  -            target = new WriterTarget(targetFile, format);
  +            target = new WriterTarget(targetFile, getFormat());
               isTargetSystemOut=isWriterSystemOut;
           }
           else
  @@ -221,7 +268,7 @@
               {
                   ((WriterTarget) target).close();
               }
  -            target = new WriterTarget(targetFile, format);
  +            target = new WriterTarget(targetFile, getFormat());
                        isTargetSystemOut=isWriterSystemOut;
           }
           Hierarchy.getDefaultHierarchy().setDefaultLogTarget(target);
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to