View Javadoc

1   /*
2    *  soapui, copyright (C) 2005 Ole Matzura / eviware.com 
3    *
4    *  SoapUI is free software; you can redistribute it and/or modify it under the 
5    *  terms of the GNU Lesser General Public License as published by the Free Software Foundation; 
6    *  either version 2.1 of the License, or (at your option) any later version.
7    *
8    *  SoapUI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without 
9    *  even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
10   *  See the GNU Lesser General Public License for more details at gnu.org.
11   */
12  
13  package com.eviware.soapui.support;
14  
15  import java.text.SimpleDateFormat;
16  import java.util.Date;
17  
18  import org.apache.log4j.AppenderSkeleton;
19  import org.apache.log4j.spi.LoggingEvent;
20  
21  import com.eviware.soapui.SoapUI;
22  
23  /***
24   * Log4j appender thats appends to SoapUI log panel
25   * 
26   * @author Ole.Matzura
27   */
28  
29  public class SoapUIAppender extends AppenderSkeleton
30  {
31     private SimpleDateFormat sdf;
32  
33     public SoapUIAppender()
34     {
35        sdf = new SimpleDateFormat("HH:mm:ss");
36     }
37     
38     protected void append(LoggingEvent event)
39     {
40        SoapUI instance = SoapUI.getInstance();
41        if( instance != null ) instance.log( createEventMessage( event ) );
42     }
43  
44     private String createEventMessage(LoggingEvent event)
45     {  
46       return sdf.format( new Date(event.timeStamp)) + " : " + event.getLevel().toString() + " : " + event.getMessage();
47     }
48  
49     public void close()
50     {
51     }
52  
53     public boolean requiresLayout()
54     {
55        return false;
56     }
57  
58  }