KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sf > persist > Log


1 // $Id: Log.java 12 2007-08-29 05:23:13Z jcamaia $
2

3 package net.sf.persist;
4
5 import org.apache.log4j.Logger;
6
7 /**
8  * Wraps log4j using reflection to avoid runtime dependencies.
9  */

10 public final class Log {
11
12     // avoid instantiation
13
private Log() {
14         // do nothing
15
}
16
17     public static final String JavaDoc ENGINE = "persist.engine";
18     public static final String JavaDoc PROFILING = "persist.profiling";
19     public static final String JavaDoc RESULTS = "persist.results";
20     public static final String JavaDoc PARAMETERS = "persist.parameters";
21
22     private static boolean log4jAvailable = false;
23     static {
24         try {
25             Class.forName("org.apache.log4j.Logger");
26             log4jAvailable = true;
27         } catch (ClassNotFoundException JavaDoc e) {
28             log4jAvailable = false;
29         }
30     }
31
32     public static void trace(final String JavaDoc name, final Object JavaDoc message) {
33         if (log4jAvailable) {
34             Logger.getLogger(name).trace(message);
35         }
36     }
37
38     public static boolean isTraceEnabled(final String JavaDoc name) {
39         return log4jAvailable && Logger.getLogger(name).isTraceEnabled();
40     }
41
42     public static void debug(final String JavaDoc name, final Object JavaDoc message) {
43         if (log4jAvailable) {
44             Logger.getLogger(name).debug(message);
45         }
46     }
47
48     public static boolean isDebugEnabled(final String JavaDoc name) {
49         return log4jAvailable && Logger.getLogger(name).isDebugEnabled();
50     }
51
52     public static void info(final String JavaDoc name, final Object JavaDoc message) {
53         if (log4jAvailable) {
54             Logger.getLogger(name).info(message);
55         }
56     }
57
58     public static boolean isInfoEnabled(final String JavaDoc name) {
59         return log4jAvailable && Logger.getLogger(name).isInfoEnabled();
60     }
61
62     public static void error(final String JavaDoc name, final Object JavaDoc message) {
63         if (log4jAvailable) {
64             Logger.getLogger(name).error(message);
65         }
66     }
67
68     /**
69      * Converts types expected in prepared statement parameters to a suitable
70      * string to be added to log output.
71      */

72     public static String JavaDoc objectToString(final Object JavaDoc obj) {
73
74         String JavaDoc str = null;
75
76         if (obj instanceof String JavaDoc) {
77             str = (String JavaDoc) obj;
78         } else if (obj instanceof byte[]) {
79             str = java.util.Arrays.toString((byte[]) obj);
80             str = str.substring(1, str.length() - 1);
81         } else if (obj instanceof Byte JavaDoc[]) {
82             str = java.util.Arrays.toString((Byte JavaDoc[]) obj);
83             str = str.substring(1, str.length() - 1);
84         } else if (obj instanceof char[]) {
85             str = java.util.Arrays.toString((char[]) obj);
86             str = str.substring(1, str.length() - 1);
87         } else if (obj instanceof Character JavaDoc[]) {
88             str = java.util.Arrays.toString((Character JavaDoc[]) obj);
89             str = str.substring(1, str.length() - 1);
90         } else {
91             str = obj == null ? "null" : obj.toString();
92         }
93
94         return (str.length() > 64) ? str.substring(0, 64) + "..." : str;
95     }
96
97     public static String JavaDoc sqlTypeToString(final int type) {
98
99         final String JavaDoc ret;
100
101         if (type == java.sql.Types.ARRAY) {
102             ret = "ARRAY";
103         } else if (type == java.sql.Types.BIGINT) {
104             ret = "BIGINT";
105         } else if (type == java.sql.Types.BINARY) {
106             ret = "BINARY";
107         } else if (type == java.sql.Types.BIT) {
108             ret = "BIT";
109         } else if (type == java.sql.Types.BLOB) {
110             ret = "BLOB";
111         } else if (type == java.sql.Types.BOOLEAN) {
112             ret = "BOOLEAN";
113         } else if (type == java.sql.Types.CHAR) {
114             ret = "CHAR";
115         } else if (type == java.sql.Types.CLOB) {
116             ret = "CLOB";
117         } else if (type == java.sql.Types.DATALINK) {
118             ret = "DATALINK";
119         } else if (type == java.sql.Types.DATE) {
120             ret = "DATE";
121         } else if (type == java.sql.Types.DECIMAL) {
122             ret = "DECIMAL";
123         } else if (type == java.sql.Types.DISTINCT) {
124             ret = "DISTINCT";
125         } else if (type == java.sql.Types.DOUBLE) {
126             ret = "DOUBLE";
127         } else if (type == java.sql.Types.FLOAT) {
128             ret = "FLOAT";
129         } else if (type == java.sql.Types.INTEGER) {
130             ret = "INTEGER";
131         } else if (type == java.sql.Types.JAVA_OBJECT) {
132             ret = "JAVA_OBJECT";
133         } else if (type == java.sql.Types.LONGVARBINARY) {
134             ret = "LONGVARBINARY";
135         } else if (type == java.sql.Types.LONGVARCHAR) {
136             ret = "LONGVARCHAR";
137         } else if (type == java.sql.Types.NULL) {
138             ret = "NULL";
139         } else if (type == java.sql.Types.NUMERIC) {
140             ret = "NUMERIC";
141         } else if (type == java.sql.Types.OTHER) {
142             ret = "OTHER";
143         } else if (type == java.sql.Types.REAL) {
144             ret = "REAL";
145         } else if (type == java.sql.Types.REF) {
146             ret = "REF";
147         } else if (type == java.sql.Types.SMALLINT) {
148             ret = "SMALLINT";
149         } else if (type == java.sql.Types.STRUCT) {
150             ret = "STRUCT";
151         } else if (type == java.sql.Types.TIME) {
152             ret = "TIME";
153         } else if (type == java.sql.Types.TIMESTAMP) {
154             ret = "TIMESTAMP";
155         } else if (type == java.sql.Types.TINYINT) {
156             ret = "TINYINT";
157         } else if (type == java.sql.Types.VARBINARY) {
158             ret = "VARBINARY";
159         } else if (type == java.sql.Types.VARCHAR) {
160             ret = "VARCHAR";
161         } else {
162             ret = "" + type;
163         }
164
165         return ret;
166
167     }
168
169 }
170
Popular Tags