View Javadoc

1   package org.slf4j.event;
2   
3   import java.util.Queue;
4   
5   import org.slf4j.Logger;
6   import org.slf4j.Marker;
7   import org.slf4j.helpers.SubstituteLogger;
8   
9   public class EventRecodingLogger implements Logger {
10  
11      String name;
12      SubstituteLogger logger;
13      Queue<SubstituteLoggingEvent> eventQueue;
14  
15      public EventRecodingLogger(SubstituteLogger logger, Queue<SubstituteLoggingEvent> eventQueue) {
16          this.logger = logger;
17          this.name = logger.getName();
18          this.eventQueue = eventQueue;
19      }
20  
21      public String getName() {
22          return name;
23      }
24  
25      private void recordEvent(Level level, String msg, Object[] args, Throwable throwable) {
26          recordEvent(level, null, msg, args, throwable);
27      }
28  
29      private void recordEvent(Level level, Marker marker, String msg, Object[] args, Throwable throwable) {
30          // System.out.println("recording logger:"+name+", msg:"+msg);
31          SubstituteLoggingEvent loggingEvent = new SubstituteLoggingEvent();
32          loggingEvent.setTimeStamp(System.currentTimeMillis());
33          loggingEvent.setLevel(level);
34          loggingEvent.setLogger(logger);
35          loggingEvent.setLoggerName(name);
36  
37          loggingEvent.setMessage(msg);
38          loggingEvent.setArgumentArray(args);
39          loggingEvent.setThrowable(throwable);
40          loggingEvent.setThreadName(Thread.currentThread().getName());
41          eventQueue.add(loggingEvent);
42      }
43  
44      public boolean isTraceEnabled() {
45          return true;
46      }
47  
48      public void trace(String msg) {
49          recordEvent(Level.TRACE, msg, null, null);
50      }
51  
52      public void trace(String format, Object arg) {
53          recordEvent(Level.TRACE, format, new Object[] { arg }, null);
54      }
55  
56      public void trace(String format, Object arg1, Object arg2) {
57          recordEvent(Level.TRACE, format, new Object[] { arg1, arg2 }, null);
58      }
59  
60      public void trace(String format, Object... arguments) {
61          recordEvent(Level.TRACE, format, arguments, null);
62      }
63  
64      public void trace(String msg, Throwable t) {
65          recordEvent(Level.TRACE, msg, null, t);
66      }
67  
68      public boolean isTraceEnabled(Marker marker) {
69          return true;
70      }
71  
72      public void trace(Marker marker, String msg) {
73          recordEvent(Level.TRACE, marker, msg, null, null);
74  
75      }
76  
77      public void trace(Marker marker, String format, Object arg) {
78          recordEvent(Level.TRACE, marker, format, new Object[] { arg }, null);
79      }
80  
81      public void trace(Marker marker, String format, Object arg1, Object arg2) {
82          recordEvent(Level.TRACE, marker, format, new Object[] { arg1, arg2 }, null);
83      }
84  
85      public void trace(Marker marker, String format, Object... argArray) {
86          recordEvent(Level.TRACE, marker, format, argArray, null);
87  
88      }
89  
90      public void trace(Marker marker, String msg, Throwable t) {
91          recordEvent(Level.TRACE, marker, msg, null, t);
92      }
93  
94      public boolean isDebugEnabled() {
95          return true;
96      }
97  
98      public void debug(String msg) {
99          recordEvent(Level.TRACE, msg, null, null);
100     }
101 
102     public void debug(String format, Object arg) {
103         recordEvent(Level.DEBUG, format, new Object[] { arg }, null);
104 
105     }
106 
107     public void debug(String format, Object arg1, Object arg2) {
108         recordEvent(Level.DEBUG, format, new Object[] { arg1, arg2 }, null);
109 
110     }
111 
112     public void debug(String format, Object... arguments) {
113         recordEvent(Level.DEBUG, format, arguments, null);
114     }
115 
116     public void debug(String msg, Throwable t) {
117         recordEvent(Level.DEBUG, msg, null, t);
118     }
119 
120     public boolean isDebugEnabled(Marker marker) {
121         return true;
122     }
123 
124     public void debug(Marker marker, String msg) {
125         recordEvent(Level.DEBUG, marker, msg, null, null);
126     }
127 
128     public void debug(Marker marker, String format, Object arg) {
129         recordEvent(Level.DEBUG, marker, format, new Object[] { arg }, null);
130     }
131 
132     public void debug(Marker marker, String format, Object arg1, Object arg2) {
133         recordEvent(Level.DEBUG, marker, format, new Object[] { arg1, arg2 }, null);
134     }
135 
136     public void debug(Marker marker, String format, Object... arguments) {
137         recordEvent(Level.DEBUG, marker, format, arguments, null);
138     }
139 
140     public void debug(Marker marker, String msg, Throwable t) {
141         recordEvent(Level.DEBUG, marker, msg, null, t);
142     }
143 
144     public boolean isInfoEnabled() {
145         return true;
146     }
147 
148     public void info(String msg) {
149         recordEvent(Level.INFO, msg, null, null);
150     }
151 
152     public void info(String format, Object arg) {
153         recordEvent(Level.INFO, format, new Object[] { arg }, null);
154     }
155 
156     public void info(String format, Object arg1, Object arg2) {
157         recordEvent(Level.INFO, format, new Object[] { arg1, arg2 }, null);
158     }
159 
160     public void info(String format, Object... arguments) {
161         recordEvent(Level.INFO, format, arguments, null);
162     }
163 
164     public void info(String msg, Throwable t) {
165         recordEvent(Level.INFO, msg, null, t);
166     }
167 
168     public boolean isInfoEnabled(Marker marker) {
169         return true;
170     }
171 
172     public void info(Marker marker, String msg) {
173         recordEvent(Level.INFO, marker, msg, null, null);
174     }
175 
176     public void info(Marker marker, String format, Object arg) {
177         recordEvent(Level.INFO, marker, format, new Object[] { arg }, null);
178     }
179 
180     public void info(Marker marker, String format, Object arg1, Object arg2) {
181         recordEvent(Level.INFO, marker, format, new Object[] { arg1, arg2 }, null);
182     }
183 
184     public void info(Marker marker, String format, Object... arguments) {
185         recordEvent(Level.INFO, marker, format, arguments, null);
186     }
187 
188     public void info(Marker marker, String msg, Throwable t) {
189         recordEvent(Level.INFO, marker, msg, null, t);
190 
191     }
192 
193     public boolean isWarnEnabled() {
194         return true;
195     }
196 
197     public void warn(String msg) {
198         recordEvent(Level.WARN, msg, null, null);
199     }
200 
201     public void warn(String format, Object arg) {
202         recordEvent(Level.WARN, format, new Object[] { arg }, null);
203 
204     }
205 
206     public void warn(String format, Object arg1, Object arg2) {
207         recordEvent(Level.WARN, format, new Object[] { arg1, arg2 }, null);
208     }
209 
210     public void warn(String format, Object... arguments) {
211         recordEvent(Level.WARN, format, arguments, null);
212     }
213 
214     public void warn(String msg, Throwable t) {
215         recordEvent(Level.WARN, msg, null, t);
216     }
217 
218     public boolean isWarnEnabled(Marker marker) {
219         return true;
220     }
221 
222     public void warn(Marker marker, String msg) {
223         recordEvent(Level.WARN, msg, null, null);
224     }
225 
226     public void warn(Marker marker, String format, Object arg) {
227         recordEvent(Level.WARN, format, new Object[] { arg }, null);
228     }
229 
230     public void warn(Marker marker, String format, Object arg1, Object arg2) {
231         recordEvent(Level.WARN, marker, format, new Object[] { arg1, arg2 }, null);
232 
233     }
234 
235     public void warn(Marker marker, String format, Object... arguments) {
236         recordEvent(Level.WARN, marker, format, arguments, null);
237     }
238 
239     public void warn(Marker marker, String msg, Throwable t) {
240         recordEvent(Level.WARN, marker, msg, null, t);
241     }
242 
243     public boolean isErrorEnabled() {
244         return true;
245     }
246 
247     public void error(String msg) {
248         recordEvent(Level.ERROR, msg, null, null);
249     }
250 
251     public void error(String format, Object arg) {
252         recordEvent(Level.ERROR, format, new Object[] { arg }, null);
253 
254     }
255 
256     public void error(String format, Object arg1, Object arg2) {
257         recordEvent(Level.ERROR, format, new Object[] { arg1, arg2 }, null);
258 
259     }
260 
261     public void error(String format, Object... arguments) {
262         recordEvent(Level.ERROR, format, arguments, null);
263 
264     }
265 
266     public void error(String msg, Throwable t) {
267         recordEvent(Level.ERROR, msg, null, t);
268     }
269 
270     public boolean isErrorEnabled(Marker marker) {
271         return true;
272     }
273 
274     public void error(Marker marker, String msg) {
275         recordEvent(Level.ERROR, marker, msg, null, null);
276 
277     }
278 
279     public void error(Marker marker, String format, Object arg) {
280         recordEvent(Level.ERROR, marker, format, new Object[] { arg }, null);
281 
282     }
283 
284     public void error(Marker marker, String format, Object arg1, Object arg2) {
285         recordEvent(Level.ERROR, marker, format, new Object[] { arg1, arg2 }, null);
286     }
287 
288     public void error(Marker marker, String format, Object... arguments) {
289         recordEvent(Level.ERROR, marker, format, arguments, null);
290     }
291 
292     public void error(Marker marker, String msg, Throwable t) {
293         recordEvent(Level.ERROR, marker, msg, null, t);
294     }
295 
296 }