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 private SimpleULogger(final String name) {
82 super();
83 this.loggerName = name;
84 }
85
86
87
88
89
90
91
92 public static SimpleULogger getLogger(final String name) {
93 return new SimpleULogger(name);
94 }
95
96
97
98
99 public boolean isDebugEnabled() {
100 return false;
101 }
102
103
104
105
106 public void debug(final Object msg) {
107
108 }
109
110
111
112
113 public void debug(final Object parameterizedMsg, final Object param1) {
114
115 }
116
117
118
119
120 public void debug(final String parameterizedMsg,
121 final Object param1,
122 final Object param2) {
123
124 }
125
126
127
128
129 public void debug(final Object msg, final Throwable t) {
130
131 }
132
133
134
135
136
137
138
139
140
141 private void log(final String level,
142 final String message,
143 final Throwable t) {
144 StringBuffer buf = new StringBuffer();
145
146 long millis = System.currentTimeMillis();
147 buf.append(millis - startTime);
148
149 buf.append(" [");
150 buf.append(Thread.currentThread().getName());
151 buf.append("] ");
152
153 buf.append(level);
154 buf.append(" ");
155
156 buf.append(loggerName);
157 buf.append(" - ");
158
159 buf.append(message);
160
161 buf.append(LINE_SEPARATOR);
162
163 System.out.print(buf.toString());
164 if (t != null) {
165 t.printStackTrace(System.out);
166 }
167 System.out.flush();
168 }
169
170
171
172
173
174
175
176
177 private void parameterizedLog(final String level,
178 final Object parameterizedMsg,
179 final Object param1,
180 final Object param2) {
181 if (parameterizedMsg instanceof String) {
182 String msgStr = (String) parameterizedMsg;
183 msgStr = MessageFormatter.format(msgStr, param1, param2);
184 log(level, msgStr, null);
185 } else {
186
187
188 log(level, parameterizedMsg.toString(), null);
189 }
190 }
191
192
193
194
195 public boolean isInfoEnabled() {
196 return true;
197 }
198
199
200
201
202 public void info(final Object msg) {
203 log(INFO_STR, msg.toString(), null);
204 }
205
206
207
208
209
210 public void info(final Object parameterizedMsg, final Object param1) {
211 parameterizedLog(INFO_STR, parameterizedMsg, param1, null);
212 }
213
214
215
216
217 public void info(final String parameterizedMsg,
218 final Object param1,
219 final Object param2) {
220 parameterizedLog(INFO_STR, parameterizedMsg, param1, param2);
221 }
222
223
224
225
226 public void info(final Object msg, final Throwable t) {
227 log(INFO_STR, msg.toString(), t);
228 }
229
230
231
232
233 public boolean isWarnEnabled() {
234 return true;
235 }
236
237
238
239
240 public void warn(final Object msg) {
241 log(WARN_STR, msg.toString(), null);
242 }
243
244
245
246
247 public void warn(final Object parameterizedMsg, final Object param1) {
248 parameterizedLog(WARN_STR, parameterizedMsg, param1, null);
249 }
250
251
252
253
254 public void warn(final String parameterizedMsg,
255 final Object param1,
256 final Object param2) {
257 parameterizedLog(WARN_STR, parameterizedMsg, param1, param2);
258 }
259
260
261
262
263 public void warn(final Object msg, final Throwable t) {
264 log(WARN_STR, msg.toString(), t);
265 }
266
267
268
269
270 public boolean isErrorEnabled() {
271 return true;
272 }
273
274
275
276
277 public void error(final Object msg) {
278 log(ERROR_STR, msg.toString(), null);
279 }
280
281
282
283
284
285 public void error(final Object parameterizedMsg, final Object param1) {
286 parameterizedLog(ERROR_STR, parameterizedMsg, param1, null);
287 }
288
289
290
291
292 public void error(final String parameterizedMsg,
293 final Object param1,
294 final Object param2) {
295 parameterizedLog(ERROR_STR, parameterizedMsg, param1, param2);
296 }
297
298
299
300
301 public void error(final Object msg, final Throwable t) {
302 log(ERROR_STR, msg.toString(), t);
303 }
304
305 }