1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.log4j.spi;
18
19 import org.apache.log4j.ULogger;
20 import org.apache.log4j.helpers.MessageFormatter;
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 public final class SimpleULogger implements ULogger {
46
47
48
49
50 private final String loggerName;
51
52
53
54
55
56 private static long startTime = System.currentTimeMillis();
57
58
59
60
61 public static final String LINE_SEPARATOR
62 = System.getProperty("line.separator");
63
64
65
66
67 private static final String INFO_STR = "INFO";
68
69
70
71 private static final String WARN_STR = "WARN";
72
73
74
75 private static final String ERROR_STR = "ERROR";
76
77
78
79
80
81
82 private SimpleULogger(final String name) {
83 super();
84 this.loggerName = name;
85 }
86
87
88
89
90
91
92
93 public static SimpleULogger getLogger(final String name) {
94 return new SimpleULogger(name);
95 }
96
97
98
99
100 public boolean isDebugEnabled() {
101 return false;
102 }
103
104
105
106
107 public void debug(final Object msg) {
108
109 }
110
111
112
113
114 public void debug(final Object parameterizedMsg, final Object param1) {
115
116 }
117
118
119
120
121 public void debug(final String parameterizedMsg,
122 final Object param1,
123 final Object param2) {
124
125 }
126
127
128
129
130 public void debug(final Object msg, final Throwable t) {
131
132 }
133
134
135
136
137
138
139
140
141
142 private void log(final String level,
143 final String message,
144 final Throwable t) {
145 StringBuilder buf = new StringBuilder();
146
147 long millis = System.currentTimeMillis();
148 buf.append(millis - startTime);
149
150 buf.append(" [");
151 buf.append(Thread.currentThread().getName());
152 buf.append("] ");
153
154 buf.append(level);
155 buf.append(" ");
156
157 buf.append(loggerName);
158 buf.append(" - ");
159
160 buf.append(message);
161
162 buf.append(LINE_SEPARATOR);
163
164 System.out.print(buf.toString());
165 if (t != null) {
166 t.printStackTrace(System.out);
167 }
168 System.out.flush();
169 }
170
171
172
173
174
175
176
177
178
179 private void parameterizedLog(final String level,
180 final Object parameterizedMsg,
181 final Object param1,
182 final Object param2) {
183 if (parameterizedMsg instanceof String) {
184 String msgStr = (String) parameterizedMsg;
185 msgStr = MessageFormatter.format(msgStr, param1, param2);
186 log(level, msgStr, null);
187 } else {
188
189
190 log(level, parameterizedMsg.toString(), null);
191 }
192 }
193
194
195
196
197 public boolean isInfoEnabled() {
198 return true;
199 }
200
201
202
203
204 public void info(final Object msg) {
205 log(INFO_STR, msg.toString(), null);
206 }
207
208
209
210
211
212 public void info(final Object parameterizedMsg, final Object param1) {
213 parameterizedLog(INFO_STR, parameterizedMsg, param1, null);
214 }
215
216
217
218
219 public void info(final String parameterizedMsg,
220 final Object param1,
221 final Object param2) {
222 parameterizedLog(INFO_STR, parameterizedMsg, param1, param2);
223 }
224
225
226
227
228 public void info(final Object msg, final Throwable t) {
229 log(INFO_STR, msg.toString(), t);
230 }
231
232
233
234
235 public boolean isWarnEnabled() {
236 return true;
237 }
238
239
240
241
242 public void warn(final Object msg) {
243 log(WARN_STR, msg.toString(), null);
244 }
245
246
247
248
249 public void warn(final Object parameterizedMsg, final Object param1) {
250 parameterizedLog(WARN_STR, parameterizedMsg, param1, null);
251 }
252
253
254
255
256 public void warn(final String parameterizedMsg,
257 final Object param1,
258 final Object param2) {
259 parameterizedLog(WARN_STR, parameterizedMsg, param1, param2);
260 }
261
262
263
264
265 public void warn(final Object msg, final Throwable t) {
266 log(WARN_STR, msg.toString(), t);
267 }
268
269
270
271
272 public boolean isErrorEnabled() {
273 return true;
274 }
275
276
277
278
279 public void error(final Object msg) {
280 log(ERROR_STR, msg.toString(), null);
281 }
282
283
284
285
286
287 public void error(final Object parameterizedMsg, final Object param1) {
288 parameterizedLog(ERROR_STR, parameterizedMsg, param1, null);
289 }
290
291
292
293
294 public void error(final String parameterizedMsg,
295 final Object param1,
296 final Object param2) {
297 parameterizedLog(ERROR_STR, parameterizedMsg, param1, param2);
298 }
299
300
301
302
303 public void error(final Object msg, final Throwable t) {
304 log(ERROR_STR, msg.toString(), t);
305 }
306
307 }