Releases: logfellow/logstash-logback-encoder
logstash-logback-encoder-8.0
This release supports the new logback-access 2.x artifacts at group id ch.qos.logback.access
. This release does not support the old logback-access artifact at ch.qos.logback:logback-access
. Special thanks to @sondemar for this contribution!
This release requires Java 11 or newer.
Recommended versions of dependencies are as follows (Earlier versions might work, but have not been tested):
- logback-core/classic 1.5.x.
- logback-access 2.0.x
- jackson-* 2.17.x
What's Changed
✨ New features and improvements
- Set AbstractThrowableClassNameJsonProvider.getThrowable as protected by @EvaristeGalois11 in #988
- Add composite MdcEntryWriter to filter MDC keys with regex by @jug in #974
🐞 Bug fixes
- Fix typo in IllegalArgumentException message by @rooday-doordash in #1024
📖 Documentation, Tests and Build
🆙 Dependency Upgrades
- Support for logback-access 2.0.0 by @sondemar in #1015
- Upgrade dependencies and maven plugins by @philsttr in #1028
New Contributors
- @rooday-doordash made their first contribution in #1024
- @sondemar made their first contribution in #1015
- @EvaristeGalois11 made their first contribution in #988
Full Changelog: logstash-logback-encoder-7.4...logstash-logback-encoder-8.0
logstash-logback-encoder-7.4
Special thanks to three new contributors for this release!
What's Changed
⚠️ Update considerations and deprecations
✨ New features and improvements
- Support key values from slf4j's fluent api by @mmienko in #954
- Add MDC entry writers to be able to convert values by @jug in #957
🐞 Bug fixes
- Honor overriden
writeObject
ofJsonGenerator
passed tosetJsonGeneratorDecorator
by @rdesgroppes in #968
📖 Documentation, Tests and Build
🆙 Dependency Upgrades
- Bump maven-compiler-plugin from 3.10.1 to 3.11.0 by @dependabot in #938
- Bump maven-surefire-plugin from 2.22.2 to 3.1.0 by @dependabot in #951
- Bump flatten-maven-plugin from 1.3.0 to 1.5.0 by @dependabot in #952
- Bump logback.version from 1.3.5 to 1.3.7 by @dependabot in #959
- Bump jacoco-maven-plugin from 0.8.8 to 0.8.10 by @dependabot in #963
- Bump java-uuid-generator from 4.1.0 to 4.2.0 by @dependabot in #961
- Bump maven-bundle-plugin from 5.1.8 to 5.1.9 by @dependabot in #962
- Bump maven-install-plugin from 3.1.0 to 3.1.1 by @dependabot in #967
- Bump maven-checkstyle-plugin from 3.2.1 to 3.3.0 by @dependabot in #969
- Bump maven-source-plugin from 3.2.1 to 3.3.0 by @dependabot in #965
- Bump maven-resources-plugin from 3.3.0 to 3.3.1 by @dependabot in #966
- Bump jackson-bom from 2.14.2 to 2.15.2 by @dependabot in #964
New Contributors
- @mmienko made their first contribution in #954
- @rdesgroppes made their first contribution in #968
- @jug made their first contribution in #957
Full Changelog: logstash-logback-encoder-7.3...logstash-logback-encoder-7.4
logstash-logback-encoder-7.3
This new version brings support for the new features introduced in Logback 1.3 while remaining compatible with both Logback 1.2 (can be used with both versions).
What's Changed
⚠️ Update considerations and deprecations
-
Support for Timestamp with nanosecond precision (logback 1.3+) by @brenuart in #833
TimestampJsonProvider
has been upgraded to take advantage of the nanosecond precision introduced in Logback 1.3 when recording event timestamp.When upgrading to Logback 1.3, people using one of the standard
java.time.DateTimeFormatter
formats like[ISO_OFFSET_DATE_TIME]
(see documentation for more information) will have their timestamp rendered with nanoseconds instead of millis. If this is not desired you should instead configure the explicit format you need instead of making reference to one of the standard formats provided byjava.time.DateTimeFormatter
. -
Add support for Event#getSequenceNumber (logback 1.3+) by @brenuart in #843
Starting from version 1.3 Logback can assign a unique sequence number to each event as long as theLoggerContext
is configured with aSequenceNumberGenerator
(see Logback). This number can later be retrieved from the event itself by calling the newly introducedgetSequenceNumber()
method.The
SequenceJsonProvider
has been upgraded to leverage this new feature. The actual behaviour depends on which version of Logback is found on the class path at runtime:- Logback >= 1.3: get the sequence value from the event itself provided a SequenceNumberGenerator is defined in the LoggerContext. If not, revert to using a locally incremented sequence number (old behaviour)
- Logback < 1.3: use a locally incremented sequence number (old behaviour)
If this behaviour is not desired, you have the choice to set your own custom strategy (see the documentation for more information).
-
ShortenedThrowableConverter: <exclude> and <exclusions> are mutually exclusive (#876) by @brenuart in #881
-
Add ability to customize the PrettyPrinter by @philsttr in #926
✨ New features and improvements
-
Add support for multiple Markers attached to a single LoggingEvent by @brenuart in #840
-
Implement initialSendDelay feature by @brenuart in #860
It may happen you want to add an extra delay before sending the first events after the connection is established. This may come in handy in situations where the appender connects to an intermediate proxy that needs some time to establish a connection to the final destination. Without this extra delay, the first events written by the appender immediately after the connection to the proxy is created may be lost if the proxy ultimately fails to connect to the final destination.To enable this feature, set the new
initialSendDelay
property to the desired value. The default value is0
which means "no delay", that is start flushing events immediately after the connection is established. See Initial Send Delay for more information. -
859 LogstashEncoder should throw IllegalArgumentException instead of logging an error status when attempting to use by @brenuart in #861
-
867 shortenedthrowableconverter truncate stacktrace based on regex pattern by @brenuart in #874
The ShortenedThrowableConverter now allows you to shorten the stacktrace by cutting it just after frames matching a regular expression. See Truncate after Regex in the documentation for more details about this new feature. -
Add a way to escape the comma in comma separated property values by @brenuart in #882
-
ShortenedThrowableConverter: add option to set my own custom abbreviator by @brenuart in #893
🐞 Bug fixes
- Fix absolute PathMask issue by @brenuart in #845
- Fix non-JSON generators (regression in 7.0) by @philsttr in #930
📖 Documentation, Tests and Build
- Fix hyperlinks in README by @cand126 in #869
- Use instead of nested appenders in XML configuration by @brenuart in #875
- Bump github actions to their latest version by @brenuart in #884
- Fix link in readme by @wsargent in #887
- Bump build to JDK 17 by @philsttr in #924
- Setup release notes categories for automatic release notes generation by @philsttr in #927
- Remove usage of the animal-sniffer-maven-plugin by @brenuart in #932
🆙 Dependency Upgrades
- Bump to Logback 1.3.0-beta0 by @brenuart in #832
- Bump assertj-core from 3.22.0 to 3.23.1 by @dependabot in #814
- Bump mockito.version from 4.5.1 to 4.7.0 by @dependabot in #834
- Bump maven-bundle-plugin from 5.1.6 to 5.1.8 by @dependabot in #825
- Bump maven-enforcer-plugin from 3.0.0 to 3.1.0 by @dependabot in #816
- Bump junit-bom from 5.8.2 to 5.9.0 by @dependabot in #835
- Bump maven-resources-plugin from 3.2.0 to 3.3.0 by @dependabot in #838
- Bump maven-javadoc-plugin from 3.4.0 to 3.4.1 by @dependabot in #839
- Bump extra-enforcer-rules from 1.5.1 to 1.6.1 by @dependabot in #822
- Bump maven-install-plugin from 3.0.0-M1 to 3.0.1 by @dependabot in #836
- Bump animal-sniffer-maven-plugin from 1.21 to 1.22 by @dependabot in #841
- Bump maven-checkstyle-plugin from 3.1.2 to 3.2.0 by @dependabot in #844
- Bump jackson-bom from 2.13.3 to 2.13.4 by @dependabot in #851
- Bump mockito.version from 4.7.0 to 4.8.0 by @dependabot in #852
- Bump logback.version from 1.3.0 to 1.3.1 by @dependabot in #853
- Bump maven-shade-plugin from 3.3.0 to 3.4.0 by @dependabot in #854
- Bump maven-jar-plugin from 3.2.2 to 3.3.0 by @dependabot in #856
- Bump junit-bom from 5.9.0 to 5.9.1 by @dependabot in #858
- Bump logback.version from 1.3.1 to 1.3.3 by @dependabot in #866
- Bump logback.version from 1.3.3 to 1.3.4 by @dependabot in #873
- Bump jackson-bom from 2.13.4 to 2.13.4.20221012 by @dependabot in #879
- Bump jackson-bom from 2.13.4.20221012 to 2.13.4.20221013 by @dependabot in #880
- Bump mockito.version from 4.8.0 to 4.8.1 by @dependabot in #886
- Bump maven-shade-plugin from 3.4.0 to 3.4.1 by @dependabot in #888
- Bump Jackson from 2.13.4.20221013 to 2.14.0 by @brenuart in #895
- Bump jackson-bom from 2.14.0 to 2.14.1 by @dependabot in #905
- Bump mockito.version from 4.8.1 to 4.9.0 by @dependabot in #900
- Bump maven-install-plugin from 3.0.1 to 3.1.0 by @dependabot in #902
- Bump logback.version from 1.3.4 to 1.3.5 by @dependabot in #903
- Bump assertj-core from 3.23.1 to 3.24.2 by @dependabot in #917
- Bump maven-checkstyle-plugin from 3.2.0 to 3.2.1 by @dependabot in https://githu...
logstash-logback-encoder-7.2
Bug Fixes
- #722 Fix a memory leak appearing in Java 16+ when logging from a thread managed by a ForkJoinPool (@caesar-ralf)
Improvements
-
#807 Allow inline generation of stacktrace (@MarneusCalgarXP)
The
ShortenedThrowableConverter
now allows you to specify the line separator to use instead of a new line by default. This is particularly useful to format a stacktrace on a single line when using rsyslog or fluentd when you don't want to use json format.
For example:
<conversionRule conversionWord="stack"
converterClass="net.logstash.logback.stacktrace.ShortenedThrowableConverter" />
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>... %stack{full,40,500,rootFirst,inline} ...</pattern>
</encoder>
</appender>
Dependency version changes
Usage | Dependency | Old Version | New Version |
---|---|---|---|
Runtime | jackson | 2.13.2.20220328 | 2.13.3 |
logstash-logback-encoder-7.1.1
logstash-logback-encoder-7.1
Bug Fixes
-
#747/#748 Logger name shortening down to the class name (length set to zero). (@brenuart)
When using a
LogstashEncoder
, the<shortenedLoggerNameLength>
configuration property can be used to shorten the logger name as described in here. This feature is supposed to behave the same as the standard Logback length conversion word. However, although the logger name was properly shortened when the desired length was greater than zero, it did not produce the expected result when the length was set to0
. In fact,foo.bar.baz.MyClass
was shortened tof.b.b.MyClass
instead ofMyClass
. -
#765 PatternJsonProvider: omitEmptyFields doesn't work with %property{key}. (@brenuart)
The Logback %property{key} conversion specifier returns null when the property does not exists. This value is added as-is to the String evaluation of the pattern which ultimately gives the string
"null"
(in letters) that won't be filtered out by the omitEmptyField feature.
To solve this issue, the PatternJsonProvider now uses a custom %property{key} converter that returns an empty string instead of null when the property does not exist. It also allows you to specify a default value to use when the property does not exist. People wanting to revert to the old behaviour can explicitly set the default value to "null" like this%property{key:-null}
. -
#751 Fixed wrong link in README.md for #event-specific-custom-fields (@mightymoogle)
Enhancements
-
#711 Fast Timestamp Format (@brenuart)
The
*FormattedTimestampJsonProvider
are now faster than ever thanks to the introduction of a newFastISOTimestampFormat
.This new formatter leverages the fact that in a logging scenario timestamps are mostly formatted in chronological order.
Instead of computing every date/time fields like the standard DateTimeFormatter does each time it is invoked, the fast formatter remembers the previous formatted value and replaces the second and millis parts when the next timestamp to format is within the same minute. This strategy is 7x faster and produces 10x less garbage compared to the DateTimeFormatter.The "fast" formatter is used only when the provider is configured with one of the following standard ISO formats (obtained from the Java DateTimeFormatter). A standard DateTimeFormatter is used for the other standard formats or if a custom pattern is configured (even if the pattern matches one of the supported ISO formats).
- ISO_OFFSET_DATE_TIME
- ISO_ZONED_DATE_TIME
- ISO_LOCAL_DATE_TIME
- ISO_DATE_TIME
- ISO_INSTANT
-
#772 PatternJsonProvider: support for default value in %property{key} (@brenuart)
The
%property{key}
conversion specifier used by the PatternJsonProvider has been enhanced to add support for a default value to use when the property does not exist. The default value is optional and can be specified using the:-
operator as in Bash shell. For example, assuming the property "foo" is not defined,%property{foo:-bar}
will returnbar
.
If no optional value is declared, the converter returns an empty string instead of null as does the original Logback version.
Check the relevant section of the documentation for more information. -
#773/#774 PatternJsonProvider: provide a "#asNullIfEmpty{}" operation (@brenuart)
-
#719/#720 getFieldValue() should return fieldValue without transforming it into a String (@brenuart)
-
#728 Custom JsonGenerator with optimized writeObject() for simple object types (@brenuart)
Project Improvements
- #709 "no-response" bot not working anymore since the project was moved to the "logfellow" organisation (@philsttr)
- #777 Upgraded maven 3.8.5 and maven wrapper (@philsttr)
- #766/#786 Update license header template to match year 2022 (@brenuart)
Dependency version changes
Usage | Dependency | Old Version | New Version |
---|---|---|---|
Runtime | jackson | 2.13.0 | 2.13.2.20220328 |
Runtime | logback | 1.2.7 | 1.2.11 |
Compile-time | checkstyle | 9.1 | 9.2.1 |
Compile-time | animal-sniffer-maven-plugin | 1.20 | 1.21 |
Compile-time | maven-bundle-plugin | 5.1.2 | 5.1.4 |
Compile-time | maven-clean-plugin | 3.1.0 | 3.2.0 |
Compile-time | maven-compiler-plugin | 3.8.1 | 3.10.0 |
Compile-time | maven-jar-plugin | 3.2.0 | 3.2.2 |
Compile-time | maven-javadoc-plugin | 3.3.1 | 3.3.2 |
Compile-time | maven-shade-plugin | 3.2.4 | 3.3.0 |
Compile-time | nexus-staging-maven-plugin | 1.6.8 | 1.6.12 |
Test-time | assertj | 3.21.0 | 3.22.0 |
Test-time | awaitility | 4.1.1 | 4.2.0 |
Test-time | junit | 5.8.1 | 5.8.2 |
Test-time | mockito | 4.0.0 | 4.4.0 |
logstash-logback-encoder-7.0.1
Version 7.0.1 is a minor release with bug fixes only.
Bug fixes
- #702 A regression introduced in
7.0
caused#asJson()
and#tryJson()
to throw a NullPointerException when the returned JSON object contains a nested object or array with null values. This caused the corresponding field to be ignored from the final output. (@brenuart)
Project improvements
logstash-logback-encoder-7.0
Overview
Version 7.0 is a major release with new enhancements, bugfixes, and several backwards incompatibilities mentioned in the sections below.
I'd also like to introduce @brenuart as a new maintainer! logstash-logback-encoder now has a bus factor of 2. Welcome Bertrand!
We've moved the logstash-logback-encoder repository to the new logfellow GitHub organization. See #700 for more info.
Enhancements
- #364 #365 #377 Switch FastDateFormat to DateTimeFormatter (@J-Jimmy, @philsttr)
- #461 #472 #630 Reduce memory allocations by writing directly into the output stream and reusing Jackson JsonGenerators between invocations. These improvements should greatly reduce pressure on the garbage collector when logging at high rate. (@brenuart)
- #465 Remove support for logback 1.1 (@philsttr)
- #470 Remove deprecated functionality
- #537 Remove deprecated contextMap and jsonMessage providers (@philsttr)
- #538 Remove deprecated SSLLogstashTcpSocketAppender (@philsttr)
- #539 Remove deprecated JsonFactoryDecorator.decorate(MappingJsonFactory) (@philsttr)
- #540 Remove deprecated LogstashTcpEncoder (@philsttr)
- #541 Remove deprecated AsyncDisruptorAppender.threadNamePrefix (@philsttr)
- #542 Remove deprecated LogstashSocketAppender (@philsttr)
- #543 Remove deprecated includeCallerInfo (@philsttr)
- #544 Remove deprecated writeVersionAsString (@philsttr)
- #545 Remove LogstashTcpSocketAppender.remoteHost/port (@philsttr)
- #496 Allow customizing pattern of "message" field for AccessEvents (@philsttr)
- #506 Documentation does not mention StackHashJsonProvider (@philsttr)
- #511 Avoid calling 'toArray' with pre-sized array argument (@ArthurGazizov)
- #559 #565 #619 Allow async appenders to block when buffer is full instead of dropping event (@brenuart)
- #567 #570 Create Disruptor with a ThreadFactory instead of ExecutorService (@brenuart )
- #568 #571 Release/clear LogEvent early before end of batch. Thanks to this change space becomes available in the RingBuffer as soon as an event is successfully async processed. This should reduce the time a logging thread must wait to enqueue its log event when the ring buffer is at or close to maximum capacity. (@brenuart)
- #575 Move servlet-api to test scope (@philsttr)
- #576 Eager validation of configuration parameters (@brenuart)
- #613 #617 Refresh LogstashBasicMarker implementation and remove synchronisation (@brenuart)
- #616 LogstashMarker#equals() and #hashCode() are unstable (@brenuart)
- #619 #620 Implement exponential backoff for the retry strategy (@brenuart)
- #630 #631 #646 #667 #670 Implement a pool of reusable JsonGenerator (@brenuart)
- #636 LogstashMarker refactoring (@brenuart)
- #649 #329 Drop event when Encoder fails to encode it before it becomes a "poison" event (@brenuart)
- 903b77a Be more resilient to exceptions thrown by listeners when firing events (@brenuart)
- #663 New JSON providers have been added to the
AccessCompositeJsonProvider
: - #650 #655 FormattedTimestampJsonProvider#setTimeZone defaults to GMT if the zoneId is not a valid zone id (@brenuart)
- #660 Allow ThreadNameJsonProvider to be used with IAccessEvent (@brenuart)
- #661 Allow SequenceJsonProvider to be used with IAccessEvent (@brenuart)
- #679 #680 #681 jsonproviders no auto start (@brenuart)
- #686 #691 PatternJsonProvider now detects errors in pattern at configuration time instead of silently ignoring the field at runtime. The provider emits an ERROR status at startup when it encounters an invalid Logback pattern layout and reverts to producing nothing at runtime.
- #688 Enhance performance of AbstractPatternJsonProvider (@brenuart)
- #690 #696 Allow masking of multiple substrings (@philsttr)
- #697 Add a #asBoolean() pattern operation (@brenuart)
Bug fixes
- #400 MaskingJsonGeneratorDecorator masks only complete string (@philsttr)
- #463 Markers examples in JavaDoc makes use of deprecated constructs (@philsttr)
- #474 CompositeJsonEncoder throws NullPointerException when not started (@philsttr)
- #475 CompositeJsonFormatter must set Context on JsonProviders BEFORE setting the JsonFactory (@philsttr)
- #507 README maven logger should be runtime, not compile (@paulvi, @philsttr)
- #520 Reference to YourKit in Readme.md is broken (@philsttr)
- #527 #529 Fix marker aggregation when multiple empty markers are aggregated (@philsttr)
- #560 #564 LogstashTcpSocketAppenderTest.testConnectOnPrimary is not stable (@brenuart)
- #566 Shutting down the Disruptor with pending events in the buffer causes high CPU usage (@brenuart)
- #569 TCP connection not closed when Disruptor fails to shutdown within the grace period (@brenuart)
- #610 Documentation uses deprecated links to Logstash documentation (@brenuart)
- #623 Attempt to fix unstable AsyncDisruptorAppenderTest#testEventHandlerCalled test case (@brenuart)
- #642 #643 ObjectFieldsAppendingMarker may use wrong unwrapping JsonSerializer when multiple ObjectMapper are used (@brenuart)
- #658 #659 LogstashAccessEncoder#fieldNames does not change the field name used by ContextJsonProvider (@brenuart)
- #687 Fix rendering of providers table (@aqt)
In addition, a longtime bug in logback (LOGBACK-1326) that affected logstash-logback-encoder (#232) has been fixed in logback 1.2.5!
Deprecations
- #567 The
AsyncDisruptorAppender
base class does not expose anyExecutorService
anymore. Sub-classes should create their own executor if needed, potentially reusing the exposedThreadFactory
. - #608 Configuring the
AsyncDisruptorAppender
in SINGLE mode is now deprecated and will be removed in future versions. This mode provides some performance improvements when only one thread is ever appending to the appender but may lead to unpredictable behaviour if not the case. - #624 Using the
queueSize
property to set the size of the ring buffer of the TCP async appender is now deprecated. UseringBufferSize
instead. - #633 #634 Setting
secondaryConnectionTTL
directly on theAbstractLogstashTcpSocketAppender
is now deprecated. You should instead set the property on the connection strategy itself. Example:
<appender name="stash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<connectionStrategy>
<preferPrimary>
<secondaryConnectionTTL>5 minutes</secondaryConnectionTTL>
</preferPrimary>
</connectionStrategy>
</appender>
- #661
net.logstash.logback.composite.loggingevent.SequenceJsonProvider
is deprecated in favour ofnet.logstash.logback.composite.SequenceJsonProvider
. - #662
net.logstash.logback.composite.loggingevent.UuidProvider
is deprecated in favour ofnet.logstash.logback.composite.UuidJsonProvider
. - #674 Default implementation of
AppenderListener
andTcpAppenderListener
interfaces are now deprecated in favour of the default methods provided by the interfaces themselves.
Project improvements
- #459 Reduce maven verbosity during ci builds (@sullis)
- #460 Use ubuntu-20.04 instead of latest during ci builds (@sullis)
- #464 Add CodeQL Analysis workflow (@philsttr)
- #517 #629 #654 #665 Switch from java 15 to 17 in build matrix (@philsttr, @brenuart)
- #468 #469 Configure M2E to ignore executions of the maven-license-plugin (@brenuart)
- #478 #547 #548 #556 #561 #562 #563 introduce checkstyle (@brenuart @philsttr)
- #468 #469 #549 #550 license improvements (@brenuart)
- #558 Remove dependency-reduced-pom.xml as part of a normal “mvn clean” invocation (@brenuart)
- #553 #554 Maven Shade plugin complains about duplicate/overlapping classes/resources (@brenuart)
- #588 Validate javadoc during builds (@brenuart)
- #582 #595 Update javadoc link to Jackson packages (@brenuart)
- #583 maven-release-plugin:2.5.3 requires Maven 3.0.4
- #584 #676 Update Maven version used by the wrapper from
3.6.1
to3.8.3
. - #585 #587 Additional enforcer rule to verify no dependencies have a bytecode higher than 1.8 (@brenuart)
- #588 #594 Fix javadoc issue and produce javadoc artifact during normal builds (@brenaurt)
- #590 #596 Prevent duplicate generation of sources and javadocs artefacts during a release build (@brenuart)
- #597 #599 Setup Github "cache" action (@brenuart)
- #598 #600 Don’t trigger build on changes in Markdown files (@brenuart)
- #604 Upload Surefire reports for later troubleshooting (@brenuart)
- #666 Separate build output directory for Maven CLI and Eclipse (@brenuart)
- #673 Use AssertJ instead of Junit asserts (@brenuart)
- #695 Run tests against Jackson 2.12 to ensure runtime compatibility (@philsttr)
- Add CONTRIBUTING.md (@philsttr)
- Add CODE_OF_CONDUCT.md (@philsttr)
- Add PROCESS.md (@philsttr)
- Configure no-response bot (@philsttr)
- Rename master branch to main (@philsttr)
Dependency version changes
Usage | Dependency | Old Version | New Version |
---|---|---|---|
Runtime | logback | 1.2.3 | 1.2.7 |
Runtime | jackson | 2.12.0 | 2.13.0 |
Runtime (shaded) | disruptor | 3.4.2 | 3.4.4 |
Runtime (shaded) | commons-lang3 | 3.11 | removed |
Compile-time | animal-sniffer-maven-plugin | 1.19 | 1.20 |
Compile-time | checkstyle ... |
logstash-logback-encoder-6.6
Enhancements
- #454/#457 Flush Flushable appenders at the end of a batch (@brenuart)
- #456/#457 Make DelegatingAsyncDisruptorAppender more resilient to exceptions thrown by child appenders (@brenuart)
Bug fixes
Documentation Updates
Dependency Updates
Usage | Dependency | Old Version | New Version |
---|---|---|---|
Runtime | jackson | 2.11.3 | 2.12.0 |
Test-time | junit | 4.13.1 | 5.7.0 |
logstash-logback-encoder-6.5
Enhancements
Bug fixes
- #444 Close JsonGenerators after usage (@PascalSchumacher)
Documentation Updates
- #417 Correct example XML for specifying a custom ValueMaskSupplier (@goober)
- #439 Added stacktrace field name adjustment example (@mariodavid
Dependency Updates
Usage | Dependency | Old Version | New Version |
---|---|---|---|
Runtime | jackson | 2.11.0 | 2.11.3 |
Runtime (shaded) | commons-lang3 | 3.10 | 3.11 |
Compile-time | animal-sniffer-maven-plugin | 1.18 | 1.19 |
Compile-time | maven-bundle-plugin | 4.2.1 | 5.1.1 |
Compile-time | maven-shade-plugin | 3.2.3 | 3.2.4 |
Test-time | junit | 4.13 | 4.13.1 |
Test-time | assertj | 3.16.1 | 3.18.1 |
Test-time | mockito | 3.3.3 | 3.6.28 |