EMMA Coverage Report (generated Fri May 26 15:35:26 CDT 2006)
[all classes][com.mysql.jdbc.log]

COVERAGE SUMMARY FOR SOURCE FILE [StandardLogger.java]

nameclass, %method, %block, %line, %
StandardLogger.java100% (1/1)35%  (8/23)54%  (123/229)52%  (39/75)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class StandardLogger100% (1/1)35%  (8/23)54%  (123/229)52%  (39/75)
isDebugEnabled (): boolean 0%   (0/1)0%   (0/2)0%   (0/1)
isErrorEnabled (): boolean 0%   (0/1)0%   (0/2)0%   (0/1)
isFatalEnabled (): boolean 0%   (0/1)0%   (0/2)0%   (0/1)
isInfoEnabled (): boolean 0%   (0/1)0%   (0/2)0%   (0/1)
isTraceEnabled (): boolean 0%   (0/1)0%   (0/2)0%   (0/1)
isWarnEnabled (): boolean 0%   (0/1)0%   (0/2)0%   (0/1)
logDebug (Object): void 0%   (0/1)0%   (0/6)0%   (0/2)
logDebug (Object, Throwable): void 0%   (0/1)0%   (0/6)0%   (0/2)
logError (Object): void 0%   (0/1)0%   (0/6)0%   (0/2)
logError (Object, Throwable): void 0%   (0/1)0%   (0/6)0%   (0/2)
logFatal (Object): void 0%   (0/1)0%   (0/6)0%   (0/2)
logFatal (Object, Throwable): void 0%   (0/1)0%   (0/6)0%   (0/2)
logInfo (Object, Throwable): void 0%   (0/1)0%   (0/6)0%   (0/2)
logTrace (Object, Throwable): void 0%   (0/1)0%   (0/6)0%   (0/2)
logWarn (Object, Throwable): void 0%   (0/1)0%   (0/6)0%   (0/2)
logInternal (int, Object, Throwable): void 100% (1/1)67%  (81/121)66%  (23/35)
<static initializer> 100% (1/1)100% (3/3)100% (1/1)
StandardLogger (String): void 100% (1/1)100% (5/5)100% (2/2)
StandardLogger (String, boolean): void 100% (1/1)100% (9/9)100% (4/4)
logInfo (Object): void 100% (1/1)100% (6/6)100% (2/2)
logTrace (Object): void 100% (1/1)100% (6/6)100% (2/2)
logWarn (Object): void 100% (1/1)100% (6/6)100% (2/2)
saveLogsToBuffer (): void 100% (1/1)100% (7/7)100% (3/3)

1/*
2 Copyright (C) 2002-2004 MySQL AB
3 
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of version 2 of the GNU General Public License as 
6 published by the Free Software Foundation.
7 
8 There are special exceptions to the terms and conditions of the GPL 
9 as it is applied to this software. View the full text of the 
10 exception in file EXCEPTIONS-CONNECTOR-J in the directory of this 
11 software distribution.
12 
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 GNU General Public License for more details.
17 
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
21 
22 
23 
24 */
25package com.mysql.jdbc.log;
26 
27import com.mysql.jdbc.Util;
28import com.mysql.jdbc.profiler.ProfilerEvent;
29 
30import java.util.Date;
31 
32/**
33 * Provides logging facilities for those platforms that don't have built-in
34 * facilities. Simply logs messages to STDERR.
35 * 
36 * @author Mark Matthews
37 * 
38 * @version $Id: StandardLogger.java 4596 2005-11-22 15:12:36 -0600 (Tue, 22 Nov 2005) mmatthews $
39 */
40public class StandardLogger implements Log {
41        private static final int FATAL = 0;
42 
43        private static final int ERROR = 1;
44 
45        private static final int WARN = 2;
46 
47        private static final int INFO = 3;
48 
49        private static final int DEBUG = 4;
50 
51        private static final int TRACE = 5;
52 
53        public static StringBuffer bufferedLog = null;
54 
55        private boolean logLocationInfo = true;
56 
57        /**
58         * Creates a new StandardLogger object.
59         * 
60         * @param name
61         *            the name of the configuration to use -- ignored
62         */
63        public StandardLogger(String name) {
64                this(name, true);
65        }
66 
67        public StandardLogger(String name, boolean logLocationInfo) {
68                this.logLocationInfo = logLocationInfo;
69        }
70 
71        public static void saveLogsToBuffer() {
72                if (bufferedLog == null) {
73                        bufferedLog = new StringBuffer();
74                }
75        }
76 
77        /**
78         * @see com.mysql.jdbc.log.Log#isDebugEnabled()
79         */
80        public boolean isDebugEnabled() {
81                return true;
82        }
83 
84        /**
85         * @see com.mysql.jdbc.log.Log#isErrorEnabled()
86         */
87        public boolean isErrorEnabled() {
88                return true;
89        }
90 
91        /**
92         * @see com.mysql.jdbc.log.Log#isFatalEnabled()
93         */
94        public boolean isFatalEnabled() {
95                return true;
96        }
97 
98        /**
99         * @see com.mysql.jdbc.log.Log#isInfoEnabled()
100         */
101        public boolean isInfoEnabled() {
102                return true;
103        }
104 
105        /**
106         * @see com.mysql.jdbc.log.Log#isTraceEnabled()
107         */
108        public boolean isTraceEnabled() {
109                return true;
110        }
111 
112        /**
113         * @see com.mysql.jdbc.log.Log#isWarnEnabled()
114         */
115        public boolean isWarnEnabled() {
116                return true;
117        }
118 
119        /**
120         * Logs the given message instance using the 'debug' level
121         * 
122         * @param message
123         *            the message to log
124         */
125        public void logDebug(Object message) {
126                logInternal(DEBUG, message, null);
127        }
128 
129        /**
130         * Logs the given message and Throwable at the 'debug' level.
131         * 
132         * @param message
133         *            the message to log
134         * @param exception
135         *            the throwable to log (may be null)
136         */
137        public void logDebug(Object message, Throwable exception) {
138                logInternal(DEBUG, message, exception);
139        }
140 
141        /**
142         * Logs the given message instance using the 'error' level
143         * 
144         * @param message
145         *            the message to log
146         */
147        public void logError(Object message) {
148                logInternal(ERROR, message, null);
149        }
150 
151        /**
152         * Logs the given message and Throwable at the 'error' level.
153         * 
154         * @param message
155         *            the message to log
156         * @param exception
157         *            the throwable to log (may be null)
158         */
159        public void logError(Object message, Throwable exception) {
160                logInternal(ERROR, message, exception);
161        }
162 
163        /**
164         * Logs the given message instance using the 'fatal' level
165         * 
166         * @param message
167         *            the message to log
168         */
169        public void logFatal(Object message) {
170                logInternal(FATAL, message, null);
171        }
172 
173        /**
174         * Logs the given message and Throwable at the 'fatal' level.
175         * 
176         * @param message
177         *            the message to log
178         * @param exception
179         *            the throwable to log (may be null)
180         */
181        public void logFatal(Object message, Throwable exception) {
182                logInternal(FATAL, message, exception);
183        }
184 
185        /**
186         * Logs the given message instance using the 'info' level
187         * 
188         * @param message
189         *            the message to log
190         */
191        public void logInfo(Object message) {
192                logInternal(INFO, message, null);
193        }
194 
195        /**
196         * Logs the given message and Throwable at the 'info' level.
197         * 
198         * @param message
199         *            the message to log
200         * @param exception
201         *            the throwable to log (may be null)
202         */
203        public void logInfo(Object message, Throwable exception) {
204                logInternal(INFO, message, exception);
205        }
206 
207        /**
208         * Logs the given message instance using the 'trace' level
209         * 
210         * @param message
211         *            the message to log
212         */
213        public void logTrace(Object message) {
214                logInternal(TRACE, message, null);
215        }
216 
217        /**
218         * Logs the given message and Throwable at the 'trace' level.
219         * 
220         * @param message
221         *            the message to log
222         * @param exception
223         *            the throwable to log (may be null)
224         */
225        public void logTrace(Object message, Throwable exception) {
226                logInternal(TRACE, message, exception);
227        }
228 
229        /**
230         * Logs the given message instance using the 'warn' level
231         * 
232         * @param message
233         *            the message to log
234         */
235        public void logWarn(Object message) {
236                logInternal(WARN, message, null);
237        }
238 
239        /**
240         * Logs the given message and Throwable at the 'warn' level.
241         * 
242         * @param message
243         *            the message to log
244         * @param exception
245         *            the throwable to log (may be null)
246         */
247        public void logWarn(Object message, Throwable exception) {
248                logInternal(WARN, message, exception);
249        }
250 
251        private void logInternal(int level, Object msg, Throwable exception) {
252                StringBuffer msgBuf = new StringBuffer();
253                msgBuf.append(new Date().toString());
254                msgBuf.append(" ");
255 
256                switch (level) {
257                case FATAL:
258                        msgBuf.append("FATAL: ");
259 
260                        break;
261 
262                case ERROR:
263                        msgBuf.append("ERROR: ");
264 
265                        break;
266 
267                case WARN:
268                        msgBuf.append("WARN: ");
269 
270                        break;
271 
272                case INFO:
273                        msgBuf.append("INFO: ");
274 
275                        break;
276 
277                case DEBUG:
278                        msgBuf.append("DEBUG: ");
279 
280                        break;
281 
282                case TRACE:
283                        msgBuf.append("TRACE: ");
284 
285                        break;
286                }
287 
288                if (msg instanceof ProfilerEvent) {
289                        msgBuf.append(LogUtils.expandProfilerEventIfNecessary(msg));
290 
291                } else {
292                        if (this.logLocationInfo && level != TRACE) {
293                                Throwable locationException = new Throwable();
294                                msgBuf.append(LogUtils
295                                                .findCallingClassAndMethod(locationException));
296                                msgBuf.append(" ");
297                        }
298                        
299                        if (msg != null) {
300                                msgBuf.append(String.valueOf(msg));
301                        }
302                }
303 
304                if (exception != null) {
305                        msgBuf.append("\n");
306                        msgBuf.append("\n");
307                        msgBuf.append("EXCEPTION STACK TRACE:");
308                        msgBuf.append("\n");
309                        msgBuf.append("\n");
310                        msgBuf.append(Util.stackTraceToString(exception));
311                }
312 
313                String messageAsString = msgBuf.toString();
314 
315                System.err.println(messageAsString);
316 
317                if (bufferedLog != null) {
318                        bufferedLog.append(messageAsString);
319                }
320        }
321}

[all classes][com.mysql.jdbc.log]
EMMA 2.0.4217 (C) Vladimir Roubtsov