KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > enhydra > xml > xmlc > servlet > ServletLogWriter


1 /*
2  * Enhydra Java Application Server Project
3  *
4  * The contents of this file are subject to the Enhydra Public License
5  * Version 1.1 (the "License"); you may not use this file except in
6  * compliance with the License. You may obtain a copy of the License on
7  * the Enhydra web site ( http://www.enhydra.org/ ).
8  *
9  * Software distributed under the License is distributed on an "AS IS"
10  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
11  * the License for the specific terms governing rights and limitations
12  * under the License.
13  *
14  * The Initial Developer of the Enhydra Application Server is Lutris
15  * Technologies, Inc. The Enhydra Application Server and portions created
16  * by Lutris Technologies, Inc. are Copyright Lutris Technologies, Inc.
17  * All Rights Reserved.
18  *
19  * Contributor(s):
20  *
21  * $Id: ServletLogWriter.java,v 1.2 2005/01/26 08:29:24 jkjome Exp $
22  */

23
24 package org.enhydra.xml.xmlc.servlet;
25
26 import java.io.IOException JavaDoc;
27 import java.io.Writer JavaDoc;
28
29 import javax.servlet.ServletContext JavaDoc;
30
31 /**
32  * Writer that writes to the ServletContext.log() method. Accumulates data
33  * until flush is called so that the write is in one line.
34  */

35 class ServletLogWriter extends Writer JavaDoc {
36     /**
37      * ServletContext this logger is associated with.
38      */

39     private ServletContext JavaDoc fServletContext;
40
41     /**
42      * Buffer to accumulate a string to log.
43      */

44     private StringBuffer JavaDoc fBuf = new StringBuffer JavaDoc();
45
46     /**
47      * Constructor.
48      */

49     public ServletLogWriter(ServletContext JavaDoc servletContext) {
50         fServletContext = servletContext;
51     }
52
53     /**
54      * Close the stream.
55      */

56     public void close() throws IOException JavaDoc {
57         flush();
58     }
59
60     /**
61      * Flush the stream.
62      */

63     public void flush() throws IOException JavaDoc {
64         if (fBuf.length() > 0) {
65             fServletContext.log(fBuf.toString());
66             fBuf.setLength(0);
67         }
68     }
69         
70     /**
71      * Write a portion of a character array.
72      */

73     public void write(char[] cbuf,
74                       int off,
75                       int len) throws IOException JavaDoc {
76         fBuf.append(cbuf, off, len);
77     }
78 }
79
Popular Tags