1 /*
2 * Copyright 2001-2004 The Apache Software Foundation.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17
18 package org.apache.commons.logging.impl;
19
20 import org.apache.commons.logging.Log;
21 import org.apache.log4j.Category;
22 import org.apache.log4j.Priority;
23
24 /**
25 * <p>Implementation of {@link Log} that maps directly to a Log4J
26 * <strong>Category</strong>. Initial configuration of the corresponding
27 * Category instances should be done in the usual manner, as outlined in
28 * the Log4J documentation.</p>
29 *
30 * @deprecated Use {@link Log4JLogger} instead.
31 *
32 * @author <a href="mailto:sanders@apache.org">Scott Sanders</a>
33 * @author Rod Waldhoff
34 * @author Robert Burrell Donkin
35 * @version $Id: Log4JCategoryLog.java,v 1.15 2004/02/28 21:46:45 craigmcc Exp $
36 */
37 public final class Log4JCategoryLog implements Log {
38
39
40 // ------------------------------------------------------------- Attributes
41
42 /** The fully qualified name of the Log4JCategoryLog class. */
43 private static final String FQCN = Log4JCategoryLog.class.getName();
44
45 /** Log to this category */
46 private Category category = null;
47
48
49 // ------------------------------------------------------------ Constructor
50
51 public Log4JCategoryLog() {
52 }
53
54
55 /**
56 * Base constructor.
57 */
58 public Log4JCategoryLog(String name) {
59 this.category=Category.getInstance(name);
60 }
61
62 /** For use with a log4j factory.
63 */
64 public Log4JCategoryLog(Category category ) {
65 this.category=category;
66 }
67
68
69 // ---------------------------------------------------------- Implmentation
70
71
72 /**
73 * Log a message to the Log4j Category with <code>TRACE</code> priority.
74 * Currently logs to <code>DEBUG</code> level in Log4J.
75 */
76 public void trace(Object message) {
77 category.log(FQCN, Priority.DEBUG, message, null);
78 }
79
80
81 /**
82 * Log an error to the Log4j Category with <code>TRACE</code> priority.
83 * Currently logs to <code>DEBUG</code> level in Log4J.
84 */
85 public void trace(Object message, Throwable t) {
86 category.log(FQCN, Priority.DEBUG, message, t );
87 }
88
89
90 /**
91 * Log a message to the Log4j Category with <code>DEBUG</code> priority.
92 */
93 public void debug(Object message) {
94 category.log(FQCN, Priority.DEBUG, message, null);
95 }
96
97 /**
98 * Log an error to the Log4j Category with <code>DEBUG</code> priority.
99 */
100 public void debug(Object message, Throwable t) {
101 category.log(FQCN, Priority.DEBUG, message, t );
102 }
103
104
105 /**
106 * Log a message to the Log4j Category with <code>INFO</code> priority.
107 */
108 public void info(Object message) {
109 category.log(FQCN, Priority.INFO, message, null );
110 }
111
112
113 /**
114 * Log an error to the Log4j Category with <code>INFO</code> priority.
115 */
116 public void info(Object message, Throwable t) {
117 category.log(FQCN, Priority.INFO, message, t );
118 }
119
120
121 /**
122 * Log a message to the Log4j Category with <code>WARN</code> priority.
123 */
124 public void warn(Object message) {
125 category.log(FQCN, Priority.WARN, message, null );
126 }
127
128
129 /**
130 * Log an error to the Log4j Category with <code>WARN</code> priority.
131 */
132 public void warn(Object message, Throwable t) {
133 category.log(FQCN, Priority.WARN, message, t );
134 }
135
136
137 /**
138 * Log a message to the Log4j Category with <code>ERROR</code> priority.
139 */
140 public void error(Object message) {
141 category.log(FQCN, Priority.ERROR, message, null );
142 }
143
144
145 /**
146 * Log an error to the Log4j Category with <code>ERROR</code> priority.
147 */
148 public void error(Object message, Throwable t) {
149 category.log(FQCN, Priority.ERROR, message, t );
150 }
151
152
153 /**
154 * Log a message to the Log4j Category with <code>FATAL</code> priority.
155 */
156 public void fatal(Object message) {
157 category.log(FQCN, Priority.FATAL, message, null );
158 }
159
160
161 /**
162 * Log an error to the Log4j Category with <code>FATAL</code> priority.
163 */
164 public void fatal(Object message, Throwable t) {
165 category.log(FQCN, Priority.FATAL, message, t );
166 }
167
168
169 /**
170 * Return the native Category instance we are using.
171 */
172 public Category getCategory() {
173 return (this.category);
174 }
175
176
177 /**
178 * Check whether the Log4j Category used is enabled for <code>DEBUG</code> priority.
179 */
180 public boolean isDebugEnabled() {
181 return category.isDebugEnabled();
182 }
183
184
185 /**
186 * Check whether the Log4j Category used is enabled for <code>ERROR</code> priority.
187 */
188 public boolean isErrorEnabled() {
189 return category.isEnabledFor(Priority.ERROR);
190 }
191
192
193 /**
194 * Check whether the Log4j Category used is enabled for <code>FATAL</code> priority.
195 */
196 public boolean isFatalEnabled() {
197 return category.isEnabledFor(Priority.FATAL);
198 }
199
200
201 /**
202 * Check whether the Log4j Category used is enabled for <code>INFO</code> priority.
203 */
204 public boolean isInfoEnabled() {
205 return category.isInfoEnabled();
206 }
207
208
209 /**
210 * Check whether the Log4j Category used is enabled for <code>TRACE</code> priority.
211 * For Log4J, this returns the value of <code>isDebugEnabled()</code>
212 */
213 public boolean isTraceEnabled() {
214 return category.isDebugEnabled();
215 }
216
217 /**
218 * Check whether the Log4j Category used is enabled for <code>WARN</code> priority.
219 */
220 public boolean isWarnEnabled() {
221 return category.isEnabledFor(Priority.WARN);
222 }
223 }