KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > idaremedia > antx > feedback > tests > EchoAppender


1 /**
2  * $Id: EchoAppender.java 180 2007-03-15 12:56:38Z ssmc $
3  * Copyright 2002-2003 iDare Media, Inc. All rights reserved.
4  *
5  * Originally written by iDare Media, Inc. for release into the public domain. This
6  * library, source form and binary form, is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public License as published by the
8  * Free Software Foundation; either version 2 of the License, or (at your option) any later
9  * version.<p>
10  *
11  * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
12  * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13  * See the GNU LGPL (GNU Lesser General Public License) for more details.<p>
14  *
15  * You should have received a copy of the GNU Lesser General Public License along with this
16  * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite
17  * 330, Boston, MA 02111-1307 USA. The LGPL can be found online at
18  * http://www.fsf.org/copyleft/lesser.html<p>
19  *
20  * This product has been influenced by several projects within the open-source community.
21  * The JWare developers wish to acknowledge the open-source community's support. For more
22  * information regarding the open-source products used within JWare, please visit the
23  * JWare website.
24  *----------------------------------------------------------------------------------------*
25  * WEBSITE- http://www.jware.info EMAIL- inquiries@jware.info
26  *----------------------------------------------------------------------------------------*
27  **/

28
29 package com.idaremedia.antx.feedback.tests;
30
31 import org.apache.log4j.AppenderSkeleton;
32 import org.apache.log4j.PatternLayout;
33 import org.apache.log4j.spi.LoggingEvent;
34
35 /**
36  * Helper to track log4j spooge from a running testsuite.
37  *
38  * @since JWare/AntX 0.1
39  * @author ssmc, &copy;2002-2003 <a HREF="http://www.jware.info">iDare&nbsp;Media,&nbsp;Inc.</a>
40  * @version 0.5
41  * @.safety single
42  * @.group impl,test,helper
43  **/

44
45 public class EchoAppender extends AppenderSkeleton
46 {
47     StringBuffer JavaDoc m_sink = new StringBuffer JavaDoc(200);
48     final PatternLayout m_layout = new PatternLayout("[** %p] [%F:%L]- %m %n");//FIXED
49

50     public final StringBuffer JavaDoc getSink()
51     {
52         return m_sink;
53     }
54
55     public final String JavaDoc getLog()
56     {
57         return m_sink.substring(0);
58     }
59
60     public final void clearLog()
61     {
62         m_sink = new StringBuffer JavaDoc(200);
63     }
64
65     public String JavaDoc toString()
66     {
67         return getLog();
68     }
69
70     protected final void sink(LoggingEvent e)
71     {
72         getSink().append(m_layout.format(e));
73     }
74
75     protected void append(LoggingEvent e)
76     {
77         sink(e);
78     }
79
80     public final void close()
81     {
82         this.closed = true;
83     }
84
85     public final boolean requiresLayout()
86     {
87         return false;//FIXED,no-configure
88
}
89
90     protected final PatternLayout getPatternLayout()
91     {
92         return m_layout;
93     }
94 }
95
96 /* end-of-EchoAppender.java */
97
Popular Tags