/
news.html
1442 lines (1090 loc) · 51.8 KB
/
news.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>SLF4J News</title>
<link rel="stylesheet" type="text/css" media="screen" href="css/site.css" />
<link rel="stylesheet" type="text/css" href="css/prettify.css" />
</head>
<body onload="prettyPrint()">
<script type="text/javascript">prefix='';</script>
<script type="text/javascript" src="js/prettify.js"></script>
<script src="templates/header.js" type="text/javascript"></script>
<div id="left">
<script src="templates/left.js" type="text/javascript"></script>
</div>
<div id="content">
<h1>SLF4J News</h1>
<p>Please note that you can receive SLF4J related announcements by
subscribing to the <a
href="http://www.qos.ch/mailman/listinfo/announce">QOS.ch
announce</a> mailing list.
</p>
<hr noshade="noshade" size="1"/>
<h3>11th of October, 2012 - Release of SLF4J 1.7.2</h3>
<p>Added osgi-over-slf4j module which serves as an OSGi LogService
implementation delegating to slf4j. This module is maintained by
Matt Bishop and Libor Jelinek.</p>
<p> Christian Trutz added missing PatternLayout class as well as
several methods in the <code>Logger</code> and
<code>Category</code> classes. See commit 442e90ba5785cba9 dated
September 27th 2012 for details.
</p>
<p>Added org.slf4j.simpleLoggerwarnLevelString in slf4j-simple
module.</p>
<p>Fixed <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=272">bug
272</a>. All <code>Logger</code> implementations shipping with
SLF4J use <code>Object...</code> instead of <code>Object[]</code>
to avoid compiler warnings.</p>
<hr noshade="noshade" size="1"/>
<h3>14th of September, 2012 - Release of SLF4J 1.7.1</h3>
<p><a
href="apidocs/org/slf4j/impl/SimpleLogger.html"><code>SimpleLogger</code></a>
now supports writing to a file. The property names for configuring
<code>SimpleLogger</code> have been modified to be consistently in
camel case. More configuration options have been added. In the
absence of configuration directives, <code>SimpleLogger</code> will
behave exactly the same as in the past. <b>If you are one of the
few users configuring <code>SimpleLogger</code> with configuration
properties, you will need to adapt to the new and more consistent
property names.</b></p>
<hr noshade="noshade" size="1"/>
<h3>6th of September, 2012 - Release of SLF4J 1.7.0</h3>
<p><span class="bold big green">SLF4J now requires JDK 1.5.</span></p>
<p>Printing methods in the <a
href="apidocs/org/slf4j/Logger.html">Logger</a> interface now offers
variants accepting <a
href="http://docs.oracle.com/javase/1.5.0/docs/guide/language/varargs.html">varargs</a>
instead of Object[]. Given that under the hood, the Java compiler
transforms varargs into an array, this change is totally 100%
no-ifs-or-buts backward compatible with all existing client
code. </p>
<p>The logger field (of type <code>java.util.logging.Logger</code>)
in <code>JDK14LoggerAdapter</code> is now marked as transient. This
fixes <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=261">bug
#261</a>, a serialization problem reported by Thorbjørn Ravn
Andersen.</p>
<hr noshade="noshade" size="1"/>
<h3>11th of June, 2012 - Release of SLF4J 1.6.6</h3>
<p>Source repository has been moved to <a
href="https://github.com/qos-ch/slf4j">https://github.com/qos-ch/slf4j</a>
on github.</p>
<p>In case multiple bindings are found on the class path, SLF4J
will now output the name of the framework/implementation class it
binds with.</p>
<p><a
href="apidocs/org/slf4j/impl/SimpleLogger.html">SimpleLogger</a>
now supports configuration properties. </p>
<p>LoggerWrapper in the slf4j-ext module now correctly deals with
markers. This fixes <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=265">bug #265</a>
reported by Dario Campagna.</p>
<p>The log4j-over-slf4j module now supports legacy projects
providing their own log4j <code>LoggerFactory</code>. This fixes <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=234">bug #234</a>
reported by Laurent Pellegrino with Piotr Jagielski providing the
appropriate patch.</p>
<h3>4th of June, 2012 - Release of SLF4J 1.6.5</h3>
<p>In the slf4j-log4j12 module, upgraded the log4j dependency to
version 1.2.17.</p>
<p>Added removeHandlersForRootLogger() method to <code><a
href="apidocs/org/slf4j/bridge/SLF4JBridgeHandler.html">SLF4JBridgeHandler</a></code>
class.</p>
<p>The log4j-over-slf4j module now exports all its packages in its
manifest. This issue was reported in <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=262">262</a> by
Mikhail Mazursky who also provided the relevant patch.
</p>
<h3>October 31st, 2011 - Release of SLF4J 1.6.4</h3>
<p>Fixed in thread-safety issues in <code>BasicMDCAdapter</code>
fixing <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=203">bug
#203</a> and <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=224">bug
#224</a>. Note that <code>BasicMDCAdapter</code> is only used with
the slf4j-jdk14.jar binding.
</p>
<p><code>BasicMDCAdapter</code> invoked a method introduced in JDK
1.5 preventing it from running under JDK 1.4. Interestingly enough,
this issue has never been reported by the user community.</p>
<h3>October 17th, 2011 - Release of SLF4J 1.6.3</h3>
<p><code>LogEvent</code> class in slf4j-ext module now correctly
passes the event data as a parameter object. This fixes <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=246">bug #246</a>
reported by Ralph Goers.
</p>
<p>Added missing OSGi manifest to the jul-to-slf4j module. This
fixes <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=166">bug
#166</a> reported by Ekkehard Gentz. </p>
<p>In the log4j-over-slf4j module, added missing
<code>getAllAppenders</code>() method in <code>Category</code>
class. This fixes <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=235">bug #235</a>
reported by Anthony Whitford.
</p>
<h3>August 19th, 2011 - Release of SLF4J 1.6.2</h3>
<p>Fixed <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=138">bug
#138</a>. SLF4J will no longer complain about multiple SLF4J
bindings when running under a Weblogic server.
</p>
<p>Fixed <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=228">bug
#228</a>. When running under IBM's JDK, and if no binding can be
found, SLF4J will no longer throw a
<code>NoClassDefFoundError</code>. Instead, it will default to an
NOP implementation. Under the same circumstances but with Sun's
JDK, SLF4J already defaulted to an NOP implementation since release
1.6.0.</p>
<p>Added certain missing classes to the log4j-over-slf4j module as
requested in <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=225">bug 225</a> by
Josh Stewart.
</p>
<hr noshade="noshade" size="1"/>
<h3>July 5th, 2010 - Release of SLF4J 1.6.1</h3>
<p>Updated log4j dependency to version 1.2.16 and <a
href="http://cal10n.qos.ch/">CAL10N</a> dependency to version
0.7.4.
</p>
<p>Fixed missing versioning OSGi metadata in the log4j-over-slf4j
module. This problem was reported in <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=187">bug 187</a> by
David Savage.
</p>
<hr noshade="noshade" size="1"/>
<h3>May 8th, 2010 - Release of SLF4J 1.6.0</h3>
<p>It is expected that <em>all</em> SLF4J releases in the 1.6.x
series will be mutually compatible.
</p>
<p>As of SLF4J version 1.6.0, in the absence of an SLF4J binding,
slf4j-api will default to a no-operation implementation discarding
all log requests. Thus, instead of throwing an exception, SLF4J
will emit a single warning message about the absence of a binding
and proceed to discard all log requests without further
protest. See also the <a href="manual.html#libraries">relevant
section</a> in the user manual.
</p>
<p>In the presence of multiple parameters and if the last argument
in a logging statement is an exception, then SLF4J will now presume
that the user wants the last argument to be treated as an exception
and not a simple parameter. See the relevant <a
href="faq.html#paramException">FAQ entry</a> for further
details. This fixes <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=70">bug 70</a>
submitted by Joern Huxhorn who also provided the relevant patch.
</p>
<p>The <code>log</code> method in <code>LocationAwareLogger</code>
interface now admits an additional parameter of type
<code>Object[]</code> representing additional arguments of the log
request. Due to this modification, slf4j-api version 1.6.x will not
work with bindings shipping with SLF4J 1.5.x -- bindings shipping
with 1.6.x must be used.
</p>
<p>Fixed <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=150">bug 150</a> by
implementing missing <code>resetConfiguration()</code> and
<code>shutdown()</code> methods in <code>LogManager</code> (in
log4j-over-slf4j) as nop. In addition, the
<code>getCurrentLoggers()</code> method has been implemented by
returning an empty enumeration.
</p>
<p>Fixed <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=170">bug 170</a> by
a bare-bones implementation of the <code>NDC</code> class in
log4j-over-slf4j.</p>
<p>Fixed <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=175">bug 175</a> by
synchronizing access to the loggerNameList field.</p>
<p>Fixed <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=164">bug 164</a>
observed when SLF4J artifacts were placed under
java.endorsed.dirs.</p>
<p>Fixed sub-optimal list type usage in
<code>SLF4JLogFactory</code> as reported in <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=179">bug 179</a> by
Sebastian Davids.
</p>
<p>Fixed documentation inconsistency in <code>SLF4JLog</code> as
reported in <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=180">bug 180</a> by
Sebastian Davids.
</p>
<hr noshade="noshade" size="1"/>
<h3>February 25th, 2010 - Release of SLF4J 1.5.11</h3>
<p>Users yet unfamiliar with SLF4J sometimes unknowingly place both
<em>log4j-over-slf4j.jar</em> and <em>slf4j-log4j12.jar</em>
simultaneously on the class path causing stack overflow
errors. Simultaneously placing both <em>jcl-over-slf4j.jar</em> and
<em>slf4j-jcl.jar</em> on the class path, is another occurrence of
the same general problem. As of this version, SLF4J preempts the
inevitable stack overflow error by throwing an exception with
details about the actual cause of the problem. This is deemed to be
better than leaving the user wondering about the reasons of the
<code>StackOverflowError</code>.
</p>
<p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=168">bug
168</a>. In case log4j-over-slf4j is used and a logback appender
requires a third party library which depends on log4j, the
<code>log(String FQCN, Priority p, Object msg, Throwable t)</code>
method in log4j-over-slf4j's Category class would throw an
<code>UnsupportedOperationException</code>. Problem reported by Seth
Call.</p>
<hr noshade="noshade" size="1"/>
<h3>December 3rd, 2009 - Release of SLF4J 1.5.10</h3>
<p>SLF4J version 1.5.10 consist of bug fixes and minor
enhancements. It is totally backward compatible with SLF4J version
1.5.8. However, the slf4j-ext module ships with a new package called
<code>org.slf4j.cal10n</code> which adds <a
href="localization.html">localized/internationalized logging</a>
support as a thin layer built upon the <a
href="http://cal10n.qos.ch">CAL10N API</a>.</p>
<p><a href="http://www.slf4j.org/android/">SLF4J-adroid</a>,
maintained by <a
href="http://dbis.cs.unibas.ch/team/thorsten-moller/dbis_staff_view">Thorsten
Möller</a>, was added as a daugther project of SLF4J.
</p>
<p>Added missing "Export-Package" declaration for cal10n in the OSGi
manifest file for sfl4j-ext. This was requested in <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=156">bug 156</a> by
Pete Muir.</p>
<p>In log4j-over-slf4j, added missing log(...) methods as requested
by Zoltan Szel in <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=139">bug report
139</a>.</p>
<p>In log4j-over-slf4j, added missing <code>LogManager</code> class
as requested by Rick Beton in <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=150">bug report
150</a>.</p>
<p>In the slf4j-ext module, added
<code>getCopyOfChildTimeInstruments</code> and
<code>getCopyOfGlobalStopWatch</code> methods to the
<code>Profiler</code> class. This enables developers to build their
own output formatters for a given Profiler. This feature was
requested by David Lindelöf in <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=141">bug 141</a>.
</p>
<p>Fixed a <code>NullPointerEception</code> occuring in unspecified
conditions as described in <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=146">bug report
146</a> by Dapeng Ni.</p>
<p>Added missing OSGi manifest to the <em>log4j-over-slf4j</em>
module as requested by Wade Poziombka in <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=117">bug 117</a>.
</p>
<p>OSGi manifests produced by SLF4J now replace the '-' character by
'.' in compliance with the OSGi specification. This fixes <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=152">bug 152</a>
according to the patch supplied by Hugues Malphettes.
</p>
<p>Fixed packaging issue in jcl104-over-slf4j which inadvertently
produced a jar file as described in <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=151">bug 151</a> by
Jesse McConnell.</p>
<hr noshade="noshade" size="1"/>
<h3>June 11th, 2009 - Release of SLF4J 1.5.8</h3>
<p>SLF4J version 1.5.8 consist of bug fixes. It is totally backward
compatible with SLF4J version 1.5.7.</p>
<p>The Maven pom file for the <code>log4j-over-slf4j</code> module
contained a compile time dependency on the <code>slf4j-jdk14</code>
module. The dependency should have been declared in the test
scope. This problem was reported by Jean-Luc Geering on the slf4j
user list.
</p>
<h3>June 10th, 2009 - Release of SLF4J 1.5.7</h3>
<p>SLF4J version 1.5.7 consist of bug fixes and minor
enhancements. It is totally backward compatible with SLF4J version
1.5.6.</p>
<p>In SLF4J versions 1.5.5 and 1.5.6, the <code>LoggerFactory</code>
class which is at the core of SLF4J, if a version compatibility
issue was detected, accidentally invoked a method which was
introduced in JDK 1.5. Thus, instead of issuing a clear warning
message, SLF4J would throw a
<code>NoClassDefFoundError</code>. Consequently, SLF4J would not run
with JDK 1.4 and earlier but only if a version incompatibility issue
was present. For example, if you were mixing
<em>slf4j-api-1.5.6.jar</em> with <em>slf4j-simple-1.4.2.jar</em>,
which are mutually incompatible. Please note that this bug affects
only SLF4J versions 1.5.5 and 1.5.6 <em>and</em> only in the
presence of incompatible versions of slf4j-api and its binding.
</p>
<p>SLF4J will now emit a warning if more than one binding is present
on the class path. This enhancement was proposed in <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=132">bug 132</a>
contributed by by Robert Elliot.
</p>
<p>The Log interface implementations in the jcl-over-slf4j module
will now correctly cope with serialization. This fixes <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=79">bug 79</a>
reported by Mathias Bogaert. Many thanks to Eric Vargo for precisely
identifying the problem and supplying the corresponding patch.</p>
<p>The log4j-over-slf4j module will now correctly
interact with logging frameworks supporting location information
such as java.util.logging and logback. This fixes <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=131">bug 131</a>
reported by Marc Zampetti.
</p>
<p><code>SLF4JBridgeHandler</code> will no longer ignore log records
with an empty message. This fixes <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=108">bug 108</a>
reported by Pepijn Van Eeckhoudt and independently by Dan Lewis.
</p>
<p>In case the <code>toString()</code> method of a parameter throws
an exception, <code>MessageFormatter</code> will now print an error
message, instead of letting the exception bubble higher up as
previously. This fixes <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=112">bug 112</a>
submitted by Joern Huxhorn.
</p>
<hr noshade="noshade" size="1"/>
<h3>November 21st, 2008 - Release of SLF4J 1.5.6</h3>
<p>SLF4J version 1.5.6 consists of bug fixes. Users are encouraged
to upgrade to SLF4J version 1.5.6. The upgrade should pose no
problems. Nevertheless, you might still want to refer to the SLF4J
<a href="compatibility.html">compatibility report</a>.
</p>
<p>Fixed long standing <a
href="http://jira.qos.ch/browse/LBCLASSIC-87">LBCLASSIC-87</a> and
its younger sibling <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=113">bug
113</a>. With each call to getLogger() method,
<code>LoggerContext</code> will now retrieve the ILoggerFactory
afresh from <code>StaticLoggerBinder</code>. This change enables
context selectors of native implementations, e.g logback, to work
correctly.
</p>
<p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=114">bug
114</a> reported by Jason Arndt. Corrected the way
<code>XLogger</code> (in slf4j-ext) passes its fully qualified class
name so that the underlying logging system can correctly compute
location information.
</p>
<p>The <code>install()</code> method of
<code>SLF4JBridgeHandler</code> will no longer reset the entire
j.u.l. environment but solely add a <code>SLF4JBridgeHandler</code>
instance to jul's root logger. By the same token, the
<code>uninstall()</code> method will remove previously added
<code>SLF4JBridgeHandler</code> instances without making any other
modifications to the j.u.l. configuration.
</p>
<p>Added <code>MDCStrLookup</code> to slf4j-ext. This class can be
used with Apache Commons Lang's <code>StrSubstitutor</code> class to
inject values in the SLF4J MDC into strings. Information on
StrSubstitutor can be found at <a
href="http://commons.apache.org/lang/api-release/org/apache/commons/lang/text/StrSubstitutor.html">StrSubstitutor
javadoc</a>.
</p>
<hr noshade="noshade" size="1"/>
<h3>October 17th, 2008 - Release of SLF4J 1.5.5</h3>
<p>The version check mechanism introduced in SLF4J 1.5.4 was
inconsistent with the large size of SLF4J's installed user base. We
cannot expect external SLF4J implementations to align their release
schedule with that of SLF4J. Consequently, this SLF4J version,
namely 1.5.5, retains versions checks but as an elective
process. For further details see the <a
href="faq.html#version_checks">relevant entry</a> in the FAQ.
</p>
<p>You are highly encouraged to upgrade to SLF4J version 1.5.5. The
upgrade should pose no problems. Nevertheless, you might still want
to refer to the SLF4J <a href="compatibility.html">compatibility
report</a>.
</p>
<h3>October 16th, 2008 - Release of SLF4J 1.5.4</h3>
<p>This version corrects critical bugs.
</p>
<p>Fixed <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=106">critical bug
106</a>. In previous versions of SLF4J, if during the initial
binding phase, the underlying logging system's default configuration
created or invoked loggers, a <code>NullPointerException</code>
would be thrown. Refer to the <a
href="codes.html#substituteLogger">in error codes</a> document for a
fuller explanation.</p>
<p>At initialization time, LoggerFactory will now check that the
version of the slf4j-binding matches that of slf4j-api. If there is
a mismatch a warning will be issued on the console. This should help
users identify SLF4J related problems more quickly.</p>
<p>Improvements in documentation as well as fix for <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=102">packaging
problems</a> related to <em>slf4j-ext</em> module.
</p>
<p>SLF4JBridgeHandler (part of jul-to-slf4j) now accounts for
loggers with resourceBundle as well parameters. This feature
requested by Darryl Smith in <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=98">bug 98</a> and
by Jarek Gawor in <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=103">bug
103</a>.</p>
<p>We now say that markers contain <em>references</em> to other
markers. We no longer talk about child markers. The javadocs of the
<code>Marker</code> interface have been updated to reflect this
change. Moreover, the <code>hasChildren()</code> method in the
Marker interface has been deprecated and a new method called
<code>hasReferences()</code> was added.
</p>
<hr noshade="noshade" size="1"/>
<h3>September 12th, 2008 - Release of SLF4J 1.5.3</h3>
<p>See also the <a href="compatibility.html#1_5_3">compatibility
report for this version</a>.
</p>
<p>Added a new module called slf4j-ext for slf4j-extensions. See <a
href="extensions.html">its documentation</a> for further
details.</p>
<p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=71">bug
71</a> which was re-opened by Manfred Geiler. SLF4J loggers now
survive serialization. By survive serialization, we mean
that the deserialized logger instance are fully functional. </p>
<p>The fix for <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=68">bug 68</a> as
implemented in version 1.5.1 was incomplete. Michael Furman supplied
a more complete fix which was incorporated in this release.</p>
<p>When slf4j bridges, e.g. jcl-over-slf4j or log4j-over-slf4j, were
used in conjunction with JUL as the underlying logging system,
JDK14LoggerAdapter created a LogRecord even for disabled log
statements. This performance issue was reported in <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=90">bug 90</a> by
Matthew Mastracci.
</p>
<p>Added support for array values, including multi-dimensional
arrays, as parameters. For example,</p>
<p class="source">log.debug("{} {}", "A", new int[] {1, 2}});</p>
<p>will print as "A [1, 2]" instead of "A [I@6ca1c" as
previously. This enhancement was proposed by "lizongbo".
</p>
<p>Parameter substitution code has been simplified. SLF4J now only
cares about the "{}" formatting anchor, that is the '{' character
immediately followed by '}'. Previously, the '{' had meaning on its
own. As a result of this change, users no longer need to escape the
'{' unless it is immediately followed by '}'. Existing messages
which escaped standalone '{' character will be printed with a
preceding backslash. However, no data loss in the printed messages
will occur.
</p>
<p>Added missing <code>getInstance</code> methods to the
<code>Category</code> class in the log4j-over-slf4j module, fixing
<a href="http://bugzilla.slf4j.org/show_bug.cgi?id=95">bug 95</a>
reported by Michael Rumpf.</p>
<hr noshade="noshade" size="1"/>
<h3>June 8th, 2008 - Release of SLF4J 1.5.2</h3>
<p>Improvements to SLF4J documentation as well as fix of <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=88">packaging
problems</a> related to <em>jul-to-slf4j.jar</em> and
<em>jcl104-over-slf4j.jar</em>.
</p>
<h3>June 5th, 2008 - Release of SLF4J 1.5.1</h3>
<p>See also the <a href="compatibility.html#1_5_1">compatibility
report for this version</a>.</p>
<p>In order to support JCL version 1.1.1, the
<em>jcl<b>104</b>-over-slf4j</em> module was renamed as
<em>jcl-over-slf4j</em>. SLF4J will no longer ship with
<em>jcl104-over-slf4j.jar</em> but with <em>jcl-over-slf4j.jar</em>.
The related work responds to enhancement request discussed in <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=85">bug 85</a> as
reported by Niklas Gustavsson.
</p>
<p>The <em>slf4j-jcl</em> binding now depends on commons-logging
version 1.1.1 instead of the older 1.0.4</p>
<p>Added a java.util.logging to SLF4J bridge as requested in <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=38">bug 38</a> by
Christian Stein, David Smiley, Johan Ferner, Joern Huxhorn and
others.
</p>
<p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=68">bug
68</a> reported by Su Chuan and David Rauschenbach. SLF4J requires
log4j 1.2.12 or later. However, if an older version of log4j is
present (lacking the TRACE level), in order to avoid
NoSuchMethodError exceptions, the SLF4J's
<code>Log4jLoggerAdapter</code> will map the TRACE level as DEBUG.
</p>
<p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=78">bug
78</a> reported by Venu Thachappilly. If the argument array passed
to a Logger printing method (debug, info, etc.) was null, a
<code>NullPointerException</code> was thrown. With the correction,
the messagePattern is returned as is, without parameter
substitution.
</p>
<p>Added the <code>getCopyOfContextMap</code> and
<code>setContextMap</code> methods to the <code>MDCAdapter</code>
and <code>org.sf4j.MDC</code> classes. This was requested in <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=84">bug 84</a> by
Anton Tagunov.
</p>
<p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=74">bug
74</a>, an endless recursion problem in Marker.contains method,
reported by Michael Newcomb. Also added he
<code>getDetachedMarker</code> method to <code>IMarkerFactor</code>
and <code>MarkerFactory</code> classes which was indirectly
requested in bug 74.
</p>
<p>Added the methods <code>getLevel()</code> and
<code>getEffectiveLevel()</code> to the <code>Category</code> class
in log4j-over-slf4j. This addition was requested in <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=74">bug 74</a> by
Michael Newcomb.
</p>
<p>The <a href="migrator.html">SLF4J Migrator</a>
tool has been improved to support migration from JUL to SLF4J.
</p>
<p>In <code>MarkerIgnoringBase</code> class, corrected mapping of
trace methods with markers to their equivalents without marker
data. Previously, the mapping was trace to debug. The incorrect
mapping affected only calls to the trace method with
markers. Interestingly enough, this bug was picked up by new unit
tests and has not been reported as a bug by our users.
</p>
<h3>February 26th, 2008 - Release of SLF4J 1.5.0</h3>
<p>A tool called <a href="migrator.html">SLF4J Migrator</a> now
ships with SLF4J. It can help you migrate your project using JCL or
log4j to use SLF4J instead.
</p>
<p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=61">bug
61</a> reported by Christopher Sahnwaldt. It is now possible to
place a backslash in front of a formatting anchor, by escaping the
backslash. For example, the call to
<code>MessageFormatter.format("C:\\\\{}", "foo")</code> will now
correctly return "C:\\foo". The backslash character needs to be
escaped in Java, which leads to four backslashes.
</p>
<p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=63">bug
63</a> reported by Maarten Bosteels. SLF4J now supports MDC for
<code>java.util.logging</code> package.
</p>
<p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=64">bug
64</a> reported by Michal Bernhard. The log4j binding will now alert
the user if she uses SLF4J with a version of log4j earlier than 1.2.12.
</p>
<p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=65">bug
65</a> reported by Ben Gidley. Superfluous
<version>${parent.version}</version> lines have been
removed from pom.xml files. These lines reportedly confuse certain
Maven repositories.
</p>
<p>In the <code>org.apache.log4j.Category</code> class, as
implemented in the log4j-over-slf4j module, calls to the printing
trace() are now correctly mapped to SLF4J's trace() printing method
(instead of debug()). Superfluous printing methods with the
signature <code>xxxx(Object, Object)</code> and <code>xxxx(String,
Object, Object)</code> have been removed.
</p>
<p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=67">bug
67</a> reported by Chris Custine. The manifest file for
jcl104-over-slf4j now correctly declares version 1.0.4 for the
exported JCL packages.
</p>
<p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=69">bug
69</a> reported by Joern Huxhorn, who graciously supplied the fix as
well as a test case. The <code>add</code> method in
<code>BasicMarker</code> class now correctly prevents multiple
addition of the same child. Moreover, the <code>remove</code> method
now correctly removes the specified child marker.
</p>
<p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=41">bug
41</a> reported by Sebastian Davids. The manifest files of various
projects now mention J2SE-1.3 as the required execution
environment.
</p>
<p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=71">bug
71</a> reported by Manfred Geiler. The SLF4JLog and
SLF4JLocationAwareLog classes are now serializable solving
serialization problems encountered with certain libraries which
attempt to serialize JCL log instances.
</p>
<p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=73">bug
73</a> reported by Oleg Smirsky. A "Fragment-Host: slf4j.api" line
has been added to every MANIFEST.MF file exporting
<code>org.slf4j.impl</code>.
</p>
<p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=72">bug
72</a> reported by Ian Carr. Performance issues with slf4j-jdk14 for
disabled log statements have now been corrected.
</p>
<hr noshade="noshade" size="1"/>
<h3>August 20th, 2007 - Release of SLF4J 1.4.3</h3>
<p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=60">bug
60</a> as reported by Costin Leau. OSGI manifest entries now declare
the correct SLF4J version.
</p>
<p>Clarified the behavior of the various methods methods in the MDC
class with respect to "null" parameters. This was requested in <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=58">bug 58</a> by
Sebastian Davids.
</p>
<p>Removed the slf4j-archetype module because nobody seems to have a
use for it.</p>
<h3>July 12th, 2007 - Release of SLF4J 1.4.2</h3>
<p>The <a href="log4j-over-slf4j.html">log4j-over-slf4j</a> module
has been moved back into SLF4J. Originally, this module was part of
SLF4J and was moved into logback due to the lack of MDC support in
SLF4J. With version 1.4.2 and the addition of MDC support in SLF4J
1.4.1, log4j-over-slf4j returns to its original home. Note that the
previous name of the module was <a
href="http://logback.qos.ch/bridge.html">log4j-bridge</a>.
</p>
<p>Addition of the <code>getMDCAdapter</code> method to
org.slf4j.MDC class. This allows access to the actual MDC
implementation which can on occasion come in very handy.
</p>
<hr noshade="noshade" size="1"/>
<h3>July 4th, 2007 - Release of SLF4J 1.4.1</h3>
<p>SLF4J now supports <a href="manual.html#mdc">Mapped Diagnostic
Contexts</a> (MDC) as requested by Andy Gerweck and Steve Ebersole
in <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=49">bug
49</a>.
</p>
<p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=53">bug
53</a> as reported by Heinrich Nirschl. The public method
<code>trace(String)</code> in the <code>Log4jLoggerAdapter</code>
class incorrectly called the underlying log4j logger with level DEBUG
instead of TRACE.
</p>
<p>Fixed various documentation related errors kindly reported by
Mark Vedder.
</p>
<hr noshade="noshade" size="1"/>
<h3>May 16th, 2007 - Release of SLF4J 1.4.0</h3>
<p>In response to many user requests over time, the TRACE level has
been added to <a
href="api/org/slf4j/Logger.html">org.slf4j.Logger</a>
interface. Please also see the <a href="faq.html#trace">FAQ entry
discussing</a> the TRACE level.
</p>
<p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=47">bug
47</a> as reported by Terry Todd. In previous a SLF4J release the
<code>org.apache.commons.logging.impl.SLF4FLogFactory</code> class
was renamed as <code>SLF4JLogFactory</code>. The
<em>META-INF/services/org.apache.commons.logging.LogFactory</em>
resource file had not reflected this change. It does now.
</p>
<p>Eric Yung <a
href="http://www.slf4j.org/pipermail/user/2007-April/000327.html">reported</a>
that Apache commons-configuration access certain commons-logging
classes, namely <code>org.apache.commons.logging.impl.NoOpLog</code>
and SimpleLog, directly. Following Eric's suggestion,
jcl104-over-slf4j now includes the aforementioned classes.
</p>
<hr noshade="noshade" size="1"/>
<h3>April 15th, 2007 - Release of SLF4J 1.3.1</h3>
<p>In response to a <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=39">enhancement
request</a> made by Michael Newcomb, a marker can now be detached
from the internal list of the <code>MarkerFactory</code> that
generated it.
</p>
<p>Fixed a silly but nonetheless annoying bug where log request of
level ERROR made through jcl104-over-slf4j would log twice. This bug
was <a
href="http://www.slf4j.org/pipermail/user/2007-April/000323.html">reported</a>
and precisely described by Andrew Cooke.
</p>
<hr noshade="noshade" size="1"/>
<h3>February 25th, 2007 - Release of SLF4J 1.3.0</h3>
<p>This release consists of rearrangement of classes among
projects. More specifically, the
<code>org.slf4j.LoggerFactory</code> class is now packaged within
the <em>slf4j-api.jar</em> file instead of the various slf4j
bindings. <b>It follows that client code needs to depend on only
slf4j-api in order to compile, while the various slf4j bindings are
only needed as runtime dependencies.</b> See also the <a
href="faq.html#maven2">Maven2-related FAQ entry</a>. Given the
practical significance of this change, we highly recommend that
library-authors upgrade to version 1.3 at their earliest
convenience.
</p>
<p><a href="http://bugzilla.slf4j.org/show_bug.cgi?id=23">Bug number
23</a> has been fixed, at the cost of minor and backward compatible
changes. In other words, jcl104-over-slf4j now preserves caller
location information.
</p>
<p>It is now possible to obtain the root logger of the underlying
logging implementation by requesting a logger named
"ROOT". This feature was requested by Sebastien Davids
in <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=35">bug
report 35</a>. </p>
<p>For an exact list of changes please refer to the <a
href="changes/changes-1.3.txt">1.3.0 compatibility report</a> file
as generated by clirr.</p>
<hr noshade="noshade" size="1"/>
<h3>January 24th, 2007 - Release of SLF4J 1.2</h3>
<p>This release includes several modifications to make SLF4J
an <a href="http://www.osgi.org/">OSGi</a>-friendly framework.
The modules' MANIFEST.MF files now include
OSGi metadata. Regarding these improvements, and OSGi in general, the
SLF4J project is happy to welcome John E. Conlon as a new committer.
</p>
<p>Marker objects are now Serializable.
</p>
<hr noshade="noshade" size="1"/>
<h3>December 21st, 2006 - Release of SLF4J 1.1.0 (final)</h3>
<p>This release consists of minor bug fixes and documentation
changes. More importantly, the log4j-over-slf4j module has been
moved to the logback project, under the name <a
href="http://logback.qos.ch/bridge.html">log4j-bridge</a>.
</p>
<p>Added the file "org.apache.commons.logging.LogFactory" under
META-INF/services directory which went missing in the 1.1.0 series
of SLF4J. This fixes a compatibility problem with Apache Axis which
uses its own discovery mechanism, namely, commons-discovery version
0.2. The problem was reported in bug <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=33">report 33</a>
by David Varnes.
</p>
<p>The file jcl104-over-slf4j.jar had various entries missing in its
MANIFEST.MF file, as reported by Boris Unkel in <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=30">bug number
30</a>.
</p>
<hr noshade="noshade" size="1"/>
<h3>November 16th, 2006 - Release of SLF4J 1.1.0-RC1</h3>
<p>This release consists of packaging related bug fix in addition to
minor documentation changes.
</p>
<p>Contrary to RC0, RC1 no longer uses SNAPSHOT versions for the
slf4j-parent pom. The solution to <a
href="http://ceki.blogspot.com/2006/11/solution-to-maven2-version-number.html">Maven
version problem</a> does not work for public projects such as SLF4J
because SNAPHOTs are not allowed on ibiblio.
</p>
<hr noshade="noshade" size="1"/>
<h3>November 4th, 2006 - Release of SLF4J 1.1.0-RC0</h3>
<p>This release consists of bug fixes. Moreover, since the major
packaging related changes in 1.1.0-beta0 seem to work well, this
release is marked as RC0.</p>
<p>Fixed the JDK 1.5 dependency for the SLF4J build, as reported by
Boris Unkel in <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=28">bug number
28</a>. SLF4J now explicitly declares a dependency on JDK 1.4 in its
pom.xml file.
</p>
<p>Fixed an incorrect reference to the logback project in slf4j-api
pom file. This bug was reported by Boris Unkel in <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=29">bug number
29</a>.
</p>
<p>Fixed a synchronization problem in factories of almost all SLF4J
bindings. This bug was reported independently by Howard M. Lewis Ship
and Boris Unkel in bug reports <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=26">26</a> and
respectively <a
href="http://bugzilla.slf4j.org/show_bug.cgi?id=26">27</a>.
</p>
<hr noshade="noshade" size="1"/>
<h3>September 7th, 2006 - Release of SLF4J 1.1.0-beta0</h3>
<p>Release 1.1.0-beta0 is a relatively important release with a
refactoring of the way class files are organized in jar files. In
previous releases, each binding was self-contained in a single jar