KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > joseki > logging > java > ServletLogHandler


1 /*
2  * (c) Copyright 2003, 2004 Hewlett-Packard Development Company, LP
3  * [See end of file]
4  */

5
6 package org.joseki.logging.java;
7
8 import java.util.logging.* ;
9 import javax.servlet.ServletContext JavaDoc ;
10
11 /** Route java.util.logging output to the servlet context.log channel.
12  *
13  * @author Andy Seaborne
14  * @version $Id: ServletLogHandler.java,v 1.2 2004/04/30 14:13:14 andy_seaborne Exp $
15  */

16 public class ServletLogHandler extends Handler
17 {
18     ServletContext JavaDoc context ;
19     
20     ServletLogHandler(ServletContext JavaDoc cxt)
21     {
22         context = cxt ;
23     }
24     
25     public void publish(LogRecord record)
26     {
27         if (!isLoggable(record)) {
28             return;
29         }
30         String JavaDoc msg;
31         try {
32             msg = getFormatter().format(record);
33         } catch (Exception JavaDoc ex) {
34             // We don't want to throw an exception here, but we
35
// report the exception to any registered ErrorManager.
36
reportError(null, ex, ErrorManager.FORMAT_FAILURE);
37             return;
38         }
39
40         try {
41             // What about head/tail for the formatter?
42
context.log(msg) ;
43         } catch (Exception JavaDoc ex) {
44             // We don't want to throw an exception here, but we
45
// report the exception to any registered ErrorManager.
46
reportError(null, ex, ErrorManager.WRITE_FAILURE);
47         }
48     }
49     
50     public void flush() { return ; }
51     public void close() { return ; }
52 }
53
54
55 /*
56  * (c) Copyright 2003, 2004 Hewlett-Packard Development Company, LP
57  * All rights reserved.
58  *
59  * Redistribution and use in source and binary forms, with or without
60  * modification, are permitted provided that the following conditions
61  * are met:
62  * 1. Redistributions of source code must retain the above copyright
63  * notice, this list of conditions and the following disclaimer.
64  * 2. Redistributions in binary form must reproduce the above copyright
65  * notice, this list of conditions and the following disclaimer in the
66  * documentation and/or other materials provided with the distribution.
67  * 3. The name of the author may not be used to endorse or promote products
68  * derived from this software without specific prior written permission.
69  *
70  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
71  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
72  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
73  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
74  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
75  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
76  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
77  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
78  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
79  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
80  */

81
Popular Tags