1069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project/*
2069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * Copyright 2001-2004 The Apache Software Foundation.
3069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project *
4069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
5069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * you may not use this file except in compliance with the License.
6069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * You may obtain a copy of the License at
7069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project *
8069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
9069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project *
10069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * Unless required by applicable law or agreed to in writing, software
11069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
12069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * See the License for the specific language governing permissions and
14069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * limitations under the License.
15069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project */
16069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
17069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
18069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Projectpackage org.apache.commons.logging.impl;
19069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
20069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
21069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Projectimport java.io.Serializable;
22069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Projectimport java.util.logging.Level;
23069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Projectimport java.util.logging.Logger;
24069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
25069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Projectimport org.apache.commons.logging.Log;
26069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
27069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
28069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project/**
29069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * <p>Implementation of the <code>org.apache.commons.logging.Log</code>
30069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * interface that wraps the standard JDK logging mechanisms that were
31069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * introduced in the Merlin release (JDK 1.4).</p>
32069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project *
33069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * @author <a href="mailto:sanders@apache.org">Scott Sanders</a>
34069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * @author <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>
35069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * @author <a href="mailto:donaldp@apache.org">Peter Donald</a>
36069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * @version $Revision: 370652 $ $Date: 2006-01-19 22:23:48 +0000 (Thu, 19 Jan 2006) $
37069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project */
38069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
39069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Projectpublic class Jdk14Logger implements Log, Serializable {
40069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
41069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    /**
42069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * This member variable simply ensures that any attempt to initialise
43069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * this class in a pre-1.4 JVM will result in an ExceptionInInitializerError.
44069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * It must not be private, as an optimising compiler could detect that it
45069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * is not used and optimise it away.
46069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     */
47069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    protected static final Level dummyLevel = Level.FINE;
48069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
49069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    // ----------------------------------------------------------- Constructors
50069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
51069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
52069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    /**
53069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * Construct a named instance of this Logger.
54069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     *
55069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @param name Name of the logger to be constructed
56069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     */
57069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    public Jdk14Logger(String name) {
58069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
59069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project        this.name = name;
60069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project        logger = getLogger();
61069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
62069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    }
63069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
64069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
65069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    // ----------------------------------------------------- Instance Variables
66069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
67069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
68069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    /**
69069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * The underlying Logger implementation we are using.
70069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     */
71069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    protected transient Logger logger = null;
72069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
73069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
74069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    /**
75069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * The name of the logger we are wrapping.
76069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     */
77069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    protected String name = null;
78069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
79069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
80069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    // --------------------------------------------------------- Public Methods
81069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
82069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    private void log( Level level, String msg, Throwable ex ) {
83069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
84069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project        Logger logger = getLogger();
85069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project        if (logger.isLoggable(level)) {
86069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project            // Hack (?) to get the stack trace.
87069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project            Throwable dummyException=new Throwable();
88069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project            StackTraceElement locations[]=dummyException.getStackTrace();
89069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project            // Caller will be the third element
90069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project            String cname="unknown";
91069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project            String method="unknown";
92069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project            if( locations!=null && locations.length >2 ) {
93069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project                StackTraceElement caller=locations[2];
94069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project                cname=caller.getClassName();
95069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project                method=caller.getMethodName();
96069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project            }
97069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project            if( ex==null ) {
98069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project                logger.logp( level, cname, method, msg );
99069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project            } else {
100069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project                logger.logp( level, cname, method, msg, ex );
101069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project            }
102069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project        }
103069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
104069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    }
105069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
106069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    /**
107069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * Logs a message with <code>java.util.logging.Level.FINE</code>.
108069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     *
109069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @param message to log
110069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @see org.apache.commons.logging.Log#debug(Object)
111069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     */
112069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    public void debug(Object message) {
113069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project        log(Level.FINE, String.valueOf(message), null);
114069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    }
115069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
116069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
117069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    /**
118069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * Logs a message with <code>java.util.logging.Level.FINE</code>.
119069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     *
120069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @param message to log
121069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @param exception log this cause
122069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @see org.apache.commons.logging.Log#debug(Object, Throwable)
123069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     */
124069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    public void debug(Object message, Throwable exception) {
125069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project        log(Level.FINE, String.valueOf(message), exception);
126069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    }
127069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
128069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
129069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    /**
130069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * Logs a message with <code>java.util.logging.Level.SEVERE</code>.
131069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     *
132069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @param message to log
133069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @see org.apache.commons.logging.Log#error(Object)
134069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     */
135069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    public void error(Object message) {
136069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project        log(Level.SEVERE, String.valueOf(message), null);
137069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    }
138069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
139069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
140069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    /**
141069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * Logs a message with <code>java.util.logging.Level.SEVERE</code>.
142069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     *
143069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @param message to log
144069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @param exception log this cause
145069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @see org.apache.commons.logging.Log#error(Object, Throwable)
146069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     */
147069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    public void error(Object message, Throwable exception) {
148069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project        log(Level.SEVERE, String.valueOf(message), exception);
149069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    }
150069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
151069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
152069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    /**
153069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * Logs a message with <code>java.util.logging.Level.SEVERE</code>.
154069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     *
155069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @param message to log
156069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @see org.apache.commons.logging.Log#fatal(Object)
157069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     */
158069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    public void fatal(Object message) {
159069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project        log(Level.SEVERE, String.valueOf(message), null);
160069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    }
161069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
162069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
163069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    /**
164069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * Logs a message with <code>java.util.logging.Level.SEVERE</code>.
165069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     *
166069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @param message to log
167069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @param exception log this cause
168069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @see org.apache.commons.logging.Log#fatal(Object, Throwable)
169069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     */
170069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    public void fatal(Object message, Throwable exception) {
171069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project        log(Level.SEVERE, String.valueOf(message), exception);
172069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    }
173069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
174069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
175069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    /**
176069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * Return the native Logger instance we are using.
177069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     */
178069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    public Logger getLogger() {
179069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project        if (logger == null) {
180069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project            logger = Logger.getLogger(name);
181069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project        }
182069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project        return (logger);
183069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    }
184069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
185069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
186069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    /**
187069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * Logs a message with <code>java.util.logging.Level.INFO</code>.
188069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     *
189069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @param message to log
190069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @see org.apache.commons.logging.Log#info(Object)
191069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     */
192069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    public void info(Object message) {
193069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project        log(Level.INFO, String.valueOf(message), null);
194069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    }
195069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
196069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
197069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    /**
198069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * Logs a message with <code>java.util.logging.Level.INFO</code>.
199069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     *
200069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @param message to log
201069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @param exception log this cause
202069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @see org.apache.commons.logging.Log#info(Object, Throwable)
203069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     */
204069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    public void info(Object message, Throwable exception) {
205069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project        log(Level.INFO, String.valueOf(message), exception);
206069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    }
207069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
208069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
209069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    /**
210069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * Is debug logging currently enabled?
211069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     */
212069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    public boolean isDebugEnabled() {
213069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project        return (getLogger().isLoggable(Level.FINE));
214069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    }
215069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
216069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
217069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    /**
218069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * Is error logging currently enabled?
219069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     */
220069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    public boolean isErrorEnabled() {
221069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project        return (getLogger().isLoggable(Level.SEVERE));
222069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    }
223069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
224069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
225069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    /**
226069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * Is fatal logging currently enabled?
227069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     */
228069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    public boolean isFatalEnabled() {
229069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project        return (getLogger().isLoggable(Level.SEVERE));
230069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    }
231069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
232069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
233069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    /**
234069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * Is info logging currently enabled?
235069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     */
236069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    public boolean isInfoEnabled() {
237069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project        return (getLogger().isLoggable(Level.INFO));
238069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    }
239069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
240069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
241069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    /**
242069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * Is trace logging currently enabled?
243069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     */
244069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    public boolean isTraceEnabled() {
245069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project        return (getLogger().isLoggable(Level.FINEST));
246069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    }
247069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
248069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
249069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    /**
250069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * Is warn logging currently enabled?
251069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     */
252069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    public boolean isWarnEnabled() {
253069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project        return (getLogger().isLoggable(Level.WARNING));
254069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    }
255069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
256069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
257069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    /**
258069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * Logs a message with <code>java.util.logging.Level.FINEST</code>.
259069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     *
260069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @param message to log
261069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @see org.apache.commons.logging.Log#trace(Object)
262069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     */
263069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    public void trace(Object message) {
264069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project        log(Level.FINEST, String.valueOf(message), null);
265069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    }
266069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
267069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
268069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    /**
269069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * Logs a message with <code>java.util.logging.Level.FINEST</code>.
270069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     *
271069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @param message to log
272069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @param exception log this cause
273069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @see org.apache.commons.logging.Log#trace(Object, Throwable)
274069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     */
275069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    public void trace(Object message, Throwable exception) {
276069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project        log(Level.FINEST, String.valueOf(message), exception);
277069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    }
278069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
279069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
280069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    /**
281069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * Logs a message with <code>java.util.logging.Level.WARNING</code>.
282069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     *
283069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @param message to log
284069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @see org.apache.commons.logging.Log#warn(Object)
285069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     */
286069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    public void warn(Object message) {
287069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project        log(Level.WARNING, String.valueOf(message), null);
288069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    }
289069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
290069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
291069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    /**
292069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * Logs a message with <code>java.util.logging.Level.WARNING</code>.
293069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     *
294069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @param message to log
295069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @param exception log this cause
296069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     * @see org.apache.commons.logging.Log#warn(Object, Throwable)
297069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project     */
298069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    public void warn(Object message, Throwable exception) {
299069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project        log(Level.WARNING, String.valueOf(message), exception);
300069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project    }
301069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
302069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project
303069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project}
304