KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > javax > util > jcache > CacheLogger


1 /* Open Source Java Caching Service
2 * Copyright (C) 2002 Frank Karlstrøm
3 * This library is free software; you can redistribute it and/or
4 * modify it under the terms of the GNU Lesser General Public
5 * License as published by the Free Software Foundation; either
6 * version 2.1 of the License, or (at your option) any later version.
7 *
8 * This library is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General Public
14 * License along with this library; if not, write to the Free Software
15 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16 *
17 * The author can be contacted by email: fjankk@users.sourceforge.net
18 */

19 package javax.util.jcache;
20
21 /**
22  * Applications can either extend this class to implement a customized logging
23  * mechanism. The caching service uses this API to log cache related events.
24  * Users can use the Cache.setLogSeverity(int) to change the desirable cache
25  * logging severity. The severity levels are defined as: OFF FATAL ERROR
26  * DEFAULT WARNING TRACE INFO DEBUG A default cache logger is implemented. If
27  * no cache logger is provided, the default cache logger will be used. By
28  * default, DefaultCacheLogger will log all the messages to a file called
29  * "jcache.log" in the directory where the server process is started. Users
30  * can set a differen log file name for the default logger when initializing
31  * the cache by calling CacheAttributes.setLogFileName(String).
32  * @todo all methods in this class should be implemented.
33  * @deprecated will be removed and replaced with jdk1.4 logging or log4j.
34  * @author Frank Karlstrøm
35  */

36 public abstract class CacheLogger {
37
38     /** an int describing that the logging is off. */
39     public static final int OFF = 0;
40
41     /** an int describing that only fatal errors should be logged. */
42     public static final int FATAL = 1;
43
44     /** an int describing that only errors or higher should be logged. */
45     public static final int ERROR = 2;
46
47     /** an int describing that only warnings or higher should be logged. */
48     public static final int WARNING = 3;
49
50     /**
51      * an int describing that informational messages and higher should be
52      * logged.
53      */

54     public static final int INFO = 4;
55
56     /**
57      * an int describing that default logging severity is applied. (info is
58      * default)
59      */

60     public static final int DEFAULT = 5;
61
62     /** an int describing that debugmessages and higher should be logged. */
63     public static final int DEBUG = 6;
64
65     /** an int describing that tracing messages and higher should be logged. */
66     public static final int TRACE = 7;
67
68     /**
69      * Creates new CacheLogger.
70      */

71     protected CacheLogger() {
72     }
73
74     /**
75      * application writers can implement this method and provide their own
76      * mechanism to log a message.
77      *
78      * @param message the message to log.
79      */

80     public abstract void log(final String JavaDoc message);
81
82     /**
83      * application writers can implement this method and provide their own
84      * mechanism to log a message.
85      *
86      * @param message The message to log.
87      * @param cause The Exception responsible for causing an log event to
88      * happen.
89      */

90     public abstract void log(final String JavaDoc message, final Throwable JavaDoc cause);
91
92     /**
93      * is called by the caching system when the CacheLogger is instanciated to
94      * complete any initialization requirements.
95      *
96      * @param fileName the value from the CacheAttribute
97      * @param severity the value from the CacheAttributes.
98      * @todo Not supported.
99      */

100     public abstract void init(final String JavaDoc fileName, final int severity);
101
102     /**
103      * log messages are buffered by the cache. This method will force the
104      * messages to be written out the destination and the buffer is reset.
105      * @todo Not supported.
106      */

107     public abstract void flush();
108
109     /**
110      * returns the current severity level defined in this class. The severity
111      * level determines the amount of information that will be logged. The
112      * default setting is DEFAULT.
113      *
114      * @return the current severity level defined in this class.
115      * @todo Not supported.
116      */

117     public static int getSeverity() {
118         return OFF;
119     }
120
121     /**
122      * sets the severity level to the specified level. The severity level
123      * determines the amount of information that will be logged. The default
124      * setting is DEFAULT.
125      *
126      * @param severity the severity level to set.
127      * @todo Not supported.
128      */

129     public final void setSeverity(final int severity) {
130     }
131 }
Popular Tags