Releases: logfellow/logstash-logback-encoder
logstash-logback-encoder-4.9
logstash-logback-encoder-4.8
- #165 Fix documentation for
ShortenedThrowableConverter
- #171 Add ability to output version field as string (instead of number)
- #172 / #173 Stop providers when
JsonProviders.stop()
is called (instead of starting them) - #175 Remove out-of-date disclaimer on logback issue
- #186 Document how to end prefix/suffix with whitespace
- #187 Fix typo in documentation
- #190 disable
SerializationFeature.FAIL_ON_EMPTY_BEANS
by default, and add better error handling around failed serializations
logstash-logback-encoder-4.7
- #149 Don't log stacktrace for unknown host exception
- #139 Add support for global custom fields for access events
- Note that
net.logstash.logback.composite.loggingevent.GlobalCustomFieldsJsonProvider
was moved tonet.logstash.logback.composite.GlobalCustomFieldsJsonProvider
- Note that
- #161 Fix NPE when set/get custom fields programmatically
- #163 Normalize access log Response/Request headers (to lowercase)
- Updated 3rd party libraries
- logback 1.1.6 (from 1.1.3)
- jackson 2.6.5 (from 2.5.4)
- disruptor 3.3.4 (from 3.3.2)
- assertj 2.4.0 (from 2.1.0) (test only)
- animal-sniffer 1.15 (from 1.14) (buildtime only)
- Misc Documentation Improvements
logstash-logback-encoder-4.6
logstash-logback-encoder-4.5.1
- Fix #129 to remain runtime-compatible with java 1.6
logstash-logback-encoder-4.5
- #115 / #116 Failover TCP connections
- Multiple destinations can now be specified for the TCP appenders. Logs are sent to the first that accepts a connection
- Deprecated
remoteHost
/port
config parameters in favor ofdestination
config parameter
- #85 Reestablish TCP connection when socket's input stream reaches the end of the stream
- Fixes reconnection issues when communicating with Amazon's Elastic Load Balancer (ELB)
- #114 Shutdown faster when keep alive is enabled (only works on java 1.7+)
- #119 Removed runtime dependency on commons-io
- #119 Reduced jar size by minimizing shaded jar
- #117 Detect incompatible apis at compile time using animal-sniffer-plugin
logstash-logback-encoder-4.4
Backwards Incompatibility:
As part of the introduction of StructuredArguments (#99), the return type of the methods in net.logstash.logback.marker.Markers
changed to net.logstash.logback.marker.LogstashMarker
instead of specific subclasses of LogstashMarker
.
If your code stored the result of those methods in a variable of the old return type, then your code will encounter a compile-time error on upgrade. You will need to change the type of your variable to LogstashMarker
.
For example, change this:
ObjectAppendingMarker marker = Markers.append("foo", foo);
to this:
LogstashMarker marker = Markers.append("foo", foo);
If your code used inline markers (perhaps also with method chaining) without assigning them to variables you will encounter runtime errors. You will need to recompile your code to fix the runtime errors.
This backwards incompatibility was inadvertently overlooked, otherwise we would have bumped the version to 5.0, since this project follows semantic versioning practices.
Changes:
- #99 Add
StructuredArgument
s as an alternative to Markers for adding fields to the log event JSON output - #110 Clear events from RingBuffer after they have been processed (fixes memory leak)
- #91 Introduced
includeCallerData
(to be consistent with logback), and deprecatedincludeCallerInfo
- #103 Fix
isIncludeMdc()
- #102 fixed setting a prefix without a suffix on the
CompositeJsonLayout
- #100 Created a provider for
ILoggingEvent.getMessage()
- #104 Replace
org.slf4j.helpers.LogstashBasicMarker
withnet.logstash.logback.marker.LogstashBasicMarker
- Updated dependency versions for logback, jackson, junit, assertj
logstash-logback-encoder-4.2
logstash-logback-encoder-4.1
- Changed async and tcp appenders to use daemon threads by default, so that shutdown is not required for the jvm to exit properly.
- Changed async and tcp appenders to use
BlockingWaitStrategy
to consume less CPU resources when idle - Added ability to configure wait strategy using simple string configuration
- Added custom SSL configuration support to all TCP appenders (using SSL support provided by logback)
- SSL can now be used for AccessEvents
logstash-logback-encoder-4.0
Changes in 4.0:
- New
CompositeJsonFormatter
/Encoder
/Layout
were created to allow customizing the JSON output through the use of providers.- Each provider contained within the composite contributes to the JSON output.
- All existing functionality was converted to individual providers
LogstashFormatter
/Encoder
/Layout
were refactored to be just extensions of the composite concept that contain a pre-defined set of providers
- A new pattern-based provider was added. This provider allows usage of standard
PatternLayout
patterns within a JSON template. This allows much easier configuration, since you can layout your JSON event as a JSON string with embedded patterns for values. - Added a new
AsyncDisruptorAppender
that is similar to logback'sAsyncAppender
, but uses an LMAX DisruptorRingBuffer
as the inter-thread data exchange mechanism (as opposed to aBlockingQueue
used by theAsyncAppender
)- Refactored the tcp appender to extend the
AsyncDisruptorAppender
so it can take advantage of the benefits of using aRingBuffer
- Refactored the tcp appender to extend the
- Add ability to define a prefix and suffix on the encoder/layouts that appear before/after the JSON output
- Lots of doc improvements
XML configuration is fully backwards compatible except for the following:
- The
queueSize
for the tcp appenders must now be a power of 2. Also, recommend you switch to usingringBufferSize
instead ofqueueSize
. - The
eventDelayLimit
for the tcp appenders is no longer used (since the the appender will never block the logging thread)