1515 */
1616package uk .bot_by .aws_lambda .slf4j ;
1717
18+ import java .io .ObjectStreamException ;
1819import java .io .PrintStream ;
20+ import java .io .Serializable ;
1921import org .jetbrains .annotations .NotNull ;
2022import org .jetbrains .annotations .VisibleForTesting ;
23+ import org .slf4j .Logger ;
24+ import org .slf4j .Marker ;
2125import org .slf4j .event .Level ;
2226import org .slf4j .helpers .FormattingTuple ;
23- import org .slf4j .helpers .MarkerIgnoringBase ;
2427import org .slf4j .helpers .MessageFormatter ;
28+ import org .slf4j .impl .StaticLoggerBinder ;
2529
2630/**
2731 * An SLF4J {@link org.slf4j.Logger} implementation for <a href="https://aws.amazon.com/lambda/">AWS
4852 *
4953 * @see LambdaLoggerConfiguration LambdaLogger's configuration
5054 */
51- public class LambdaLogger extends MarkerIgnoringBase {
55+ public class LambdaLogger implements Logger , Serializable {
56+
57+ private static final long serialVersionUID = 7893093825483346807L ;
5258
5359 private final LambdaLoggerConfiguration configuration ;
5460 private final PrintStream printStream ;
@@ -68,151 +74,301 @@ public boolean isTraceEnabled() {
6874 return isLevelEnabled (Level .TRACE );
6975 }
7076
77+ @ Override
78+ public boolean isTraceEnabled (Marker marker ) {
79+ return isTraceEnabled ();
80+ }
81+
7182 @ Override
7283 public void trace (String message ) {
7384 log (Level .TRACE , message , null );
7485 }
7586
87+ @ Override
88+ public void trace (Marker marker , String msg ) {
89+ trace (msg );
90+ }
91+
7692 @ Override
7793 public void trace (String format , Object arg ) {
7894 trace (format , arg , null );
7995 }
8096
97+ @ Override
98+ public void trace (Marker marker , String format , Object arg ) {
99+ trace (format , arg );
100+ }
101+
81102 @ Override
82103 public void trace (String format , Object arg1 , Object arg2 ) {
83104 formatAndLog (Level .TRACE , format , arg1 , arg2 );
84105 }
85106
107+ @ Override
108+ public void trace (Marker marker , String format , Object arg1 , Object arg2 ) {
109+ trace (format , arg1 , arg2 );
110+ }
111+
86112 @ Override
87113 public void trace (String format , Object ... arguments ) {
88114 formatAndLog (Level .TRACE , format , arguments );
89115 }
90116
117+ @ Override
118+ public void trace (Marker marker , String format , Object ... arguments ) {
119+ trace (format , arguments );
120+ }
121+
91122 @ Override
92123 public void trace (String message , Throwable throwable ) {
93124 log (Level .TRACE , message , throwable );
94125 }
95126
127+ @ Override
128+ public void trace (Marker marker , String msg , Throwable t ) {
129+ trace (msg , t );
130+ }
131+
96132 @ Override
97133 public boolean isDebugEnabled () {
98134 return isLevelEnabled (Level .DEBUG );
99135 }
100136
137+ @ Override
138+ public boolean isDebugEnabled (Marker marker ) {
139+ return isDebugEnabled ();
140+ }
141+
101142 @ Override
102143 public void debug (String message ) {
103144 log (Level .DEBUG , message , null );
104145 }
105146
147+ @ Override
148+ public void debug (Marker marker , String msg ) {
149+ debug (msg );
150+ }
151+
106152 @ Override
107153 public void debug (String format , Object arg ) {
108154 debug (format , arg , null );
109155 }
110156
157+ @ Override
158+ public void debug (Marker marker , String format , Object arg ) {
159+ debug (format , arg );
160+ }
161+
111162 @ Override
112163 public void debug (String format , Object arg1 , Object arg2 ) {
113164 formatAndLog (Level .DEBUG , format , arg1 , arg2 );
114165 }
115166
167+ @ Override
168+ public void debug (Marker marker , String format , Object arg1 , Object arg2 ) {
169+ debug (format , arg1 , arg2 );
170+ }
171+
116172 @ Override
117173 public void debug (String format , Object ... arguments ) {
118174 formatAndLog (Level .DEBUG , format , arguments );
119175 }
120176
177+ @ Override
178+ public void debug (Marker marker , String format , Object ... arguments ) {
179+ debug (format , arguments );
180+ }
181+
121182 @ Override
122183 public void debug (String message , Throwable throwable ) {
123184 log (Level .DEBUG , message , throwable );
124185 }
125186
187+ @ Override
188+ public void debug (Marker marker , String msg , Throwable t ) {
189+ debug (msg , t );
190+ }
191+
126192 @ Override
127193 public boolean isInfoEnabled () {
128194 return isLevelEnabled (Level .INFO );
129195 }
130196
197+ @ Override
198+ public boolean isInfoEnabled (Marker marker ) {
199+ return isInfoEnabled ();
200+ }
201+
131202 @ Override
132203 public void info (String message ) {
133204 log (Level .INFO , message , null );
134205 }
135206
207+ @ Override
208+ public void info (Marker marker , String msg ) {
209+ info (msg );
210+ }
211+
136212 @ Override
137213 public void info (String format , Object arg ) {
138214 info (format , arg , null );
139215 }
140216
217+ @ Override
218+ public void info (Marker marker , String format , Object arg ) {
219+ info (format , arg );
220+ }
221+
141222 @ Override
142223 public void info (String format , Object arg1 , Object arg2 ) {
143224 formatAndLog (Level .INFO , format , arg1 , arg2 );
144225 }
145226
227+ @ Override
228+ public void info (Marker marker , String format , Object arg1 , Object arg2 ) {
229+ info (format , arg1 , arg2 );
230+ }
231+
146232 @ Override
147233 public void info (String format , Object ... arguments ) {
148234 formatAndLog (Level .INFO , format , arguments );
149235 }
150236
237+ @ Override
238+ public void info (Marker marker , String format , Object ... arguments ) {
239+ info (format , arguments );
240+ }
241+
151242 @ Override
152243 public void info (String message , Throwable throwable ) {
153244 log (Level .INFO , message , throwable );
154245 }
155246
247+ @ Override
248+ public void info (Marker marker , String msg , Throwable t ) {
249+ info (msg , t );
250+ }
251+
156252 @ Override
157253 public boolean isWarnEnabled () {
158254 return isLevelEnabled (Level .WARN );
159255 }
160256
257+ @ Override
258+ public boolean isWarnEnabled (Marker marker ) {
259+ return isWarnEnabled ();
260+ }
261+
161262 @ Override
162263 public void warn (String message ) {
163264 log (Level .WARN , message , null );
164265 }
165266
267+ @ Override
268+ public void warn (Marker marker , String msg ) {
269+ warn (msg );
270+ }
271+
166272 @ Override
167273 public void warn (String format , Object arg ) {
168274 warn (format , arg , null );
169275 }
170276
277+ @ Override
278+ public void warn (Marker marker , String format , Object arg ) {
279+ warn (format , arg );
280+ }
281+
171282 @ Override
172283 public void warn (String format , Object arg1 , Object arg2 ) {
173284 formatAndLog (Level .WARN , format , arg1 , arg2 );
174285 }
175286
287+ @ Override
288+ public void warn (Marker marker , String format , Object arg1 , Object arg2 ) {
289+ warn (format , arg1 , arg2 );
290+ }
291+
176292 @ Override
177293 public void warn (String format , Object ... arguments ) {
178294 formatAndLog (Level .WARN , format , arguments );
179295 }
180296
297+ @ Override
298+ public void warn (Marker marker , String format , Object ... arguments ) {
299+ warn (format , arguments );
300+ }
301+
181302 @ Override
182303 public void warn (String message , Throwable throwable ) {
183304 log (Level .WARN , message , throwable );
184305 }
185306
307+ @ Override
308+ public void warn (Marker marker , String msg , Throwable t ) {
309+ warn (msg , t );
310+ }
311+
186312 @ Override
187313 public boolean isErrorEnabled () {
188314 return isLevelEnabled (Level .ERROR );
189315 }
190316
317+ @ Override
318+ public boolean isErrorEnabled (Marker marker ) {
319+ return isErrorEnabled ();
320+ }
321+
191322 @ Override
192323 public void error (String message ) {
193324 log (Level .ERROR , message , null );
194325 }
195326
327+ @ Override
328+ public void error (Marker marker , String msg ) {
329+ error (msg );
330+ }
331+
196332 @ Override
197333 public void error (String format , Object arg ) {
198334 error (format , arg , null );
199335 }
200336
337+ @ Override
338+ public void error (Marker marker , String format , Object arg ) {
339+ error (format , arg );
340+ }
341+
201342 @ Override
202343 public void error (String format , Object arg1 , Object arg2 ) {
203344 formatAndLog (Level .ERROR , format , arg1 , arg2 );
204345 }
205346
347+ @ Override
348+ public void error (Marker marker , String format , Object arg1 , Object arg2 ) {
349+ error (format , arg1 , arg2 );
350+ }
351+
206352 @ Override
207353 public void error (String format , Object ... arguments ) {
208354 formatAndLog (Level .ERROR , format , arguments );
209355 }
210356
357+ @ Override
358+ public void error (Marker marker , String format , Object ... arguments ) {
359+ error (format , arguments );
360+ }
361+
211362 @ Override
212363 public void error (String message , Throwable throwable ) {
213364 log (Level .ERROR , message , throwable );
214365 }
215366
367+ @ Override
368+ public void error (Marker marker , String msg , Throwable t ) {
369+ error (msg , t );
370+ }
371+
216372 @ VisibleForTesting
217373 void log (Level level , String message , Throwable throwable ) {
218374 if (!isLevelEnabled (level )) {
@@ -233,4 +389,8 @@ private boolean isLevelEnabled(Level level) {
233389 return level .toInt () >= configuration .loggerLevel ().toInt ();
234390 }
235391
392+ private Object readResolve () throws ObjectStreamException {
393+ return StaticLoggerBinder .getSingleton ().getLoggerFactory ().getLogger (getName ());
394+ }
395+
236396}
0 commit comments