1 package org.apache.ojb.broker.util.logging;
2
3 /* Copyright 2002-2005 The Apache Software Foundation
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18 import org.apache.ojb.broker.util.configuration.Configurable;
19 import org.apache.ojb.broker.util.configuration.Configuration;
20 import org.apache.ojb.broker.util.configuration.ConfigurationException;
21
22 import java.io.Serializable;
23
24
25 /**
26 * this interface defines the behaviour of a logging mechanism.
27 * This API corresponds closely to the LOG4J Category Api.
28 * By using this interface OJB remains free from Logger-Implementation
29 * specific code.
30 */
31 public interface Logger extends Serializable, Configurable
32 {
33 static final long serialVersionUID = 1177329037874407180L; /*
34 * OJB loglevel constants. they corespond directly to LOG4J LogLevels.
35 */
36 public final static int DEBUG = 1;
37 public final static int INFO = 2;
38 public final static int WARN = 3;
39 public final static int ERROR = 4;
40 public final static int FATAL = 5;
41
42
43 /**
44 * generate a message for loglevel DEBUG
45 * @param pObject the message Object
46 */
47 public void debug(Object pObject);
48
49 /**
50 * generate a message for loglevel INFO
51 * @param pObject the message Object
52 */
53 public void info(Object pObject);
54
55 /**
56 * generate a message for loglevel WARN
57 * @param pObject the message Object
58 */
59 public void warn(Object pObject);
60
61 /**
62 * generate a message for loglevel ERROR
63 * @param pObject the message Object
64 */
65 public void error(Object pObject);
66
67 /**
68 * generate a message for loglevel FATAL
69 * @param pObject the message Object
70 */
71 public void fatal(Object pObject);
72
73 public void debug(Object message, Throwable obj);
74 public void info(Object message, Throwable obj);
75 public void warn(Object message, Throwable obj);
76 public void error(Object message, Throwable obj);
77 public void fatal(Object message, Throwable obj);
78
79 public boolean isEnabledFor(int priority);
80 public boolean isDebugEnabled();
81
82 /**
83 * returns the name of the logger isntance
84 */
85 public String getName();
86
87 /**
88 * Exception safe log method.
89 * This method can be used to prevent any exception thrown by obj.toString() implementations.
90 * Log level used : DEBUG
91 * @deprecated The normal logging methods should always be safe with regard to exceptions
92 * that are thrown while accessing the arguments.
93 */
94 public void safeDebug(String message, Object obj);
95
96 /**
97 * Exception safe log method.
98 * This method can be used to prevent any exception thrown by obj.toString() implementations.
99 * Log level used : DEBUG
100 * @deprecated The normal logging methods should always be safe with regard to exceptions
101 * that are thrown while accessing the arguments.
102 */
103 public void safeDebug(String message, Object obj, Throwable t);
104
105 /**
106 * Exception safe log method.
107 * This method can be used to prevent any exception thrown by obj.toString() implementations.
108 * Log level used : INFO
109 * @deprecated The normal logging methods should always be safe with regard to exceptions
110 * that are thrown while accessing the arguments.
111 */
112 public void safeInfo(String message, Object obj);
113
114 /**
115 * Exception safe log method.
116 * This method can be used to prevent any exception thrown by obj.toString() implementations.
117 * Log level used : INFO
118 * @deprecated The normal logging methods should always be safe with regard to exceptions
119 * that are thrown while accessing the arguments.
120 */
121 public void safeInfo(String message, Object obj, Throwable t);
122
123 /**
124 * Exception safe log method.
125 * This method can be used to prevent any exception thrown by obj.toString() implementations.
126 * Log level used : WARN
127 * @deprecated The normal logging methods should always be safe with regard to exceptions
128 * that are thrown while accessing the arguments.
129 */
130 public void safeWarn(String message, Object obj);
131
132 /**
133 * Exception safe log method.
134 * This method can be used to prevent any exception thrown by obj.toString() implementations.
135 * Log level used : WARN
136 * @deprecated The normal logging methods should always be safe with regard to exceptions
137 * that are thrown while accessing the arguments.
138 */
139 public void safeWarn(String message, Object obj, Throwable t);
140
141 /**
142 * Exception safe log method.
143 * This method can be used to prevent any exception thrown by obj.toString() implementations.
144 * Log level used : ERROR
145 * @deprecated The normal logging methods should always be safe with regard to exceptions
146 * that are thrown while accessing the arguments.
147 */
148 public void safeError(String message, Object obj);
149
150 /**
151 * Exception safe log method.
152 * This method can be used to prevent any exception thrown by obj.toString() implementations.
153 * Log level used : ERROR
154 * @deprecated The normal logging methods should always be safe with regard to exceptions
155 * that are thrown while accessing the arguments.
156 */
157 public void safeError(String message, Object obj, Throwable t);
158
159 /**
160 * Exception safe log method.
161 * This method can be used to prevent any exception thrown by obj.toString() implementations.
162 * Log level used : FATAL
163 * @deprecated The normal logging methods should always be safe with regard to exceptions
164 * that are thrown while accessing the arguments.
165 */
166 public void safeFatal(String message, Object obj);
167
168 /**
169 * Exception safe log method.
170 * This method can be used to prevent any exception thrown by obj.toString() implementations.
171 * Log level used : FATAL
172 * @deprecated The normal logging methods should always be safe with regard to exceptions
173 * that are thrown while accessing the arguments.
174 */
175 public void safeFatal(String message, Object obj, Throwable t);
176
177 /**
178 * Configure this logging. Note that the config object will be an instance
179 * of {@link LoggingConfiguration}.
180 *
181 * @param config The {@link LoggingConfiguration} object
182 * @throws ConfigurationException
183 */
184 void configure(Configuration config) throws ConfigurationException;
185 }