Releases: logfellow/logstash-logback-encoder
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 |
logstash-logback-encoder-6.4
Enhancements
- #386 Remove volatile read/write for deferred markers (@PascalSchumacher)
- #387 Provided better error message when dynamically loading jackson modules fails (@philsttr)
- #393 Added includeContext support for access events (@kersten)
- #394 Replace
Charset.forName("UTF-8")withStandardCharsets.UTF_8(@ArthurGazizov) - #395 Add new json provider to log root stack trace elements (@worldtiki)
- #396 Added
defersupport for StructuredArguments (@philsttr) - #403 Added support for renaming MDC fields (@philsttr)
- #404/#413 Add option to split log messages on newlines (@metacubed)
Bug fixes
- #384 Add missing String#format argument (@PascalSchumacher)
- #385 Add missing space in error status message (@PascalSchumacher)
Documentation Updates
- #401 Fix error in the regex capturing groups example (@saltos)
- #405 Clarify structured argument code for standardized field names (@philsttr)
- #411 Fix typo in readme (@robsonbittencourt)
Dependency Updates
| Usage | Dependency | Old Version | New Version |
|---|---|---|---|
| Runtime | jackson | 2.10.1 | 2.11.0 |
| Runtime | uuid-generator | 3.2.0 | 4.0.1 |
| Runtime (shaded) | commons-lang3 | 3.9 | 3.10 |
| Compile-time | maven-source-plugin | 3.2.0 | 3.2.1 |
| Compile-time | maven-javadoc-plugin | 3.1.1 | 3.2.0 |
| Compile-time | maven-shade-plugin | 3.2.1 | 3.2.3 |
| Test-time | junit | 4.12 | 4.13 |
| Test-time | assertj | 3.14.0 | 3.16.1 |
| Test-time | mockito | 3.2.0 | 3.3.3 |
logstash-logback-encoder-6.3
Enhancements
- #378 / #382 Masking support (with inspiration from @rusucosmin)
- #363 jackson upgrades (@sdudzin )
- #374 Added support for a line separator in
CompositeJsonLayout(defaults to no line separator for backwards compitability, but can now be configured with a line separator likeCompositeJsonEncoder) - #380 Set
Automatic-Module-Nametologstash.logback.encoderinMANIFEST.MF - #379 Switch from travis ci to github actions (releases are now automated!)
- Switch from
oss-parenttonexus-staging-maven-plugin - Use
mvnwfor building
- Switch from
- Added issue templates
Documentation Updates
- #376 typo fix (@KangSungBum)
- Misc
README.mdimprovements
Dependency Updates
| Usage | Dependency | Old Version | New Version |
|---|---|---|---|
| Runtime | jackson | 2.9.9.20190807 | 2.10.1 |
| Compile-time | maven-jar-plugin | 3.1.2 | 3.2.0 |
| Compile-time | maven-source-plugin | 3.1.0 | 3.2.0 |
| Compile-time | maven-javadoc-plugin | 3.0.0 | 3.1.1 |
| Compile-time | maven-gpg-plugin | n/a | 1.6 |
| Compile-time | nexus-staging-maven-plugin | n/a | 1.6.8 |
| Test-time | assertj | 3.13.2 | 3.14.0 |
| Test-time | mockito | 2.28.2 | 3.2.0 |
logstash-logback-encoder-6.2
Enhancements
- #341 Pro-actively reopen the connection when the socket reader detects the connection has been closed instead of waiting for the next event
- #343 Introduce
writeTimeoutto detect stuck TCP write operations, and reopen the connection - #344 Add
getConnectionDestination()to TCP appenders to provide visibility into the currently connected destination - #346 Async appenders now flush delegate OutputStreamAppenders at the end of each batch
- #353 Don't block trying to publish a keep alive event if the ring buffer is full.
- #357 Include all public packages from logstash-logback-encoder in OSGi Exported-Packages in manifest
- #359 Update jackson-bom to 2.9.9.20190807, which updates jackson-databind to 2.9.9.3 to fix some deserialization security vulnerabilities (logstash-logback-encoder was not affected, since it does not deserialize JSON data) (@kubukoz)
Documentation Updates
- #342 Clarified advantages/disadvantages of disabling write buffer
- #345 Add required downcast in
JsonFactoryDecoratorexample - #348 Mention in documentation that ShortenedThrowableConverter only applies to Throwables logged as extra arguments (e.g. not structured arguments or markers)
- #358 Fixed xml tag in example (@agentgonzo)
Dependency Updates
| Usage | Dependency | Old Version | New Version |
|---|---|---|---|
| Runtime | jackson | 2.9.9 | 2.9.9.20190807 |
| Compile-time | maven-bundle-plugin | 4.2.0 | 4.2.1 |
| Test-time | mockito | 2.27.0 | 2.28.2 |
| Test-time | assertj | 2.9.1 | 3.13.2 |
logstash-logback-encoder-6.1
- #338 Deferred markers (
Markers.defer(...)) are now memoized, so the same value is used when encoding for all appenders - #339 The default status listener registered by async appenders changed from logback's
OnConsoleStatusListenerto a custom status listener that only outputs warn/error status messages to standard out - #340 Marker references are now included when
%markeris used in patterns
logstash-logback-encoder-6.0
Overview
Version 6.0 is a major release with several new features and bugfixes.
Several backwards incompatibilities were introduced (see section below). Most have the ability to revert to previous behavior via config changes if necessary.
Support for Java 1.7 has been removed. Java 1.8 or above is now required.
New Features
- #80 Add UDP appender that can use any layout (
LogstashUdpSocketAppender)
Add UDP appender for AccessEvents (LogstashAccessUdpSocketAppender)
DeprecateLogstashSocketAppenderin favor ofLogstashUdpSocketAppender - #127 Added
FailureSummaryLoggingAppenderListenerfor logging a message after the first successfully logged event after a series of failures - #132 Auto-add console status listener in async appenders, so that errors are visible by default
- #193 Avoid reconnection storm by reworking how
reconnectionDelayworks, and introducingPreferPrimaryDestinationConnectionStrategy.minConnectionTimeBeforePrimary - #201 Add ability for the pattern provider to omit fields whose values are empty (
omitEmptyFields) - #274 Support non-JSON output in other Jackson dataformats (e.g. Smile, CBOR, YAML) via decorators
- #326 Support adding additional providers to
LogstashAccessEncoder - #327 / #328 (@brenuart) Trigger ssl handshake on connection establishment, to catch ssl handshake failures early
- #330 (@brenuart) minor coding optimizations
- #334 Support deferred Markers
- #335 Support Marker aggregation and empty markers
Bug fixes
- #336 Add newline at end of stacktrace truncated due to
maxLength - #322 (@bwaldvogel) Fix typo in stack hash doc
Dependency version changes
| Usage | Dependency | Old Version | New Version |
|---|---|---|---|
| Runtime | jackson | 2.9.8 | 2.9.9 |
| Runtime | uuid-generator | 3.1.5 | 3.2.0 |
| Runtime (shaded) | commons-lang | 2.6 | n/a |
| Runtime (shaded) | commons-lang3 | n/a | 3.9 |
| Compile-time | animal-sniffer | 1.17 | 1.18 |
| Test-time | mockito | 2.23.4 | 2.27.0 |
| Test-time | commons-io | 2.6 | n/a |
Backwards Incompatibilities
-
Support for Java 1.7 has been removed. Java 1.8 or above is now required.
-
For #80,
LogstashSocketAppenderhas been deprecated in favor ofLogstashUdpSocketAppenderwith aLogstashLayout -
For #132, the async appenders (including the tcp appenders) will now add a logback
OnConsoleStatusListenerif no status listener has been registered. This provides a better out-of-the-box experience by ensuring error status messages are visible on the console by default.
The automatic registering can be disabled by either registering a different logback status listener or by settingaddDefaultStatusListenertofalseon the appender. -
For #193, The
preferPrimaryconnection strategy will now by default ensure a connection has been open for at least 10 seconds before preferring primary again.
If a connection has been open less than 10 seconds, other secondary destinations will be attempted before trying primary again.
To revert to the old behavior of always preferring primary, specify0 secondsfor theminConnectionTimeBeforePrimaryas documented here -
For #274, to support non-JSON output, a new
default JsonFactory decorate(JsonFactory factory)method has been added to theJsonFactoryDecoratorinterface.
The oldMappingJsonFactory decorate(MappingJsonFactory factory)method has been made adefaultmethod, and has been deprecated.
The new method is the preferred method of the interface. The old method will be removed in a future release.
Any customJsonFactoryDecoratorimplementations should change their implementation to the new method.
logstash-logback-encoder-5.3
- #307 Add support for excluding markers via
<includeTags>false</includeTags>(@ramsperger) - #311 Provide a way to access the fieldValue of SingleFieldAppendingMarker
- #315 Allow Jackson ObjectMapper to scan for available modules on the classpath
- #306 Remove usage of powermock
- Updated license files so ASL 2.0 can be properly detected by github
- Added warning to readme about prefix/suffix not working due to LOGBACK-1326 and logback PR#383
Upgrade Notes
- As part of #315, logstash-logback-encoder will configure jackson to dynamically scan and find jackson modules available on the classpath. See Registering Jackson Modules for more info.
- The
Logback11Supportclass methods were changed from static methods to instance methods to allow for easier unit test mocking. Since this is an internal class, it should not affect end users
Dependency version changes
| Usage | Dependency | Old Version | New Version |
|---|---|---|---|
| Runtime | jackson | 2.9.6 | 2.9.8 |
| Compile-time | maven-compiler-plugin | 2.3.2 | 3.8.0 |
| Test-time | mockito | 2.9.0 | 2.23.4 |
| Test-time | powermock | 1.7.3 | removed |
logstash-logback-encoder-5.2
- #288 / #289 Move
logback-coretoprovidedscope (@yborovikov) - #295 Fix
#tryJsonwhen messages start with a number - #299
- Allow
SleepingWaitStrategy'sretriesandparkTimeNsto be configured - Added warning to README about CPU utilization of
SleepingWaitStrategy. - added support for
LiteTimeoutBlockingWaitStrategy
- Allow
- #294 Don't fill in stack trace in test exception (affects unit test only) (@kampka)
Dependency version changes
| Usage | Dependency | Old Version | New Version |
|---|---|---|---|
| Runtime | jackson | 2.9.5 | 2.9.6 |
| Runtime | uuid | 3.1.4 | 3.1.5 |
| Runtime (shaded) | disruptor | 3.3.8 | 3.4.2 |
| Compile-time | animal-sniffer | 1.16 | 1.17 |
| Test-time | assertj | 2.9.0 | 2.9.1 |
Additionally, logback-core dependency scope was changed from compile to provided (#288), and a note was added to the readme indicating that projects that use logstash-logback-encoder must also directly depend on either logback-classic or logback-access, which both transitively depend on logback-core
logstash-logback-encoder-5.1
- #286 Add ability to output timestamp value as unix timestamps (number or string) (@peterjurkovic)
- #279 / #285 Add ability to customize character escape codes (@fred84)
- #283 Added more packages to OSGI exports (@redvasily)
- #284 Update Jackson verson to 2.9.5 (@msymons)
- #282 Fix bug that prevented configuring request header filters from logback xml
- #276 Fix bug that prevented using global custom field provider within nested provider