donaldp     01/12/12 23:58:04

  Modified:    src/java/org/apache/log/format PatternFormatter.java
  Log:
  Cached the date and DateFormatter objects so that they are not created every 
time a LogEvent is formatted.
  
  Submitted By: "Bian Tan" <[EMAIL PROTECTED]> and Chad Stansbury 
[mailto:[EMAIL PROTECTED]
  
  Revision  Changes    Path
  1.23      +13 -3     
jakarta-avalon-logkit/src/java/org/apache/log/format/PatternFormatter.java
  
  Index: PatternFormatter.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-logkit/src/java/org/apache/log/format/PatternFormatter.java,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- PatternFormatter.java     2001/12/12 11:39:25     1.22
  +++ PatternFormatter.java     2001/12/13 07:58:04     1.23
  @@ -73,7 +73,7 @@
    *
    * @author <a href="mailto:[EMAIL PROTECTED]">Peter Donald</a>
    * @author <a href="mailto:[EMAIL PROTECTED]">Sylvain Wallez</a>
  - * @version CVS $Revision: 1.22 $ $Date: 2001/12/12 11:39:25 $
  + * @version CVS $Revision: 1.23 $ $Date: 2001/12/13 07:58:04 $
    */
   public class PatternFormatter
       implements Formatter, org.apache.log.Formatter
  @@ -121,6 +121,9 @@
   
       private PatternRun                      m_formatSpecification[];
   
  +    private SimpleDateFormat                m_simpleDateFormat;
  +    private final Date                      m_date = new Date();
  +
       /**
        * @deprecated Use constructor PatternFormatter(String pattern) as this 
does not
        *             correctly initialize object
  @@ -534,8 +537,15 @@
           }
           else
           {
  -            final SimpleDateFormat simpleDateFormat = new SimpleDateFormat( 
format );
  -            return simpleDateFormat.format( new Date( time ) );
  +            synchronized( m_date )
  +            {
  +                if( null == m_simpleDateFormat )
  +                {
  +                    m_simpleDateFormat = new SimpleDateFormat( format );
  +                }
  +                m_date.setTime( time );
  +                return m_simpleDateFormat.format( m_date );
  +            }
           }
       }
   
  
  
  

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

Reply via email to