Releases: SAP/cf-java-logging-support
v3.5.0
This release switches the shipment channel for custom metrics. They are now send as JSON-formatted log messages over stdout. Previously they were send over an HTTP endpoint. This feature has been removed. Metrics are still only emitted, when the app is bound to a services named "application-logs". See the documentation for details.
Detailed changes are:
- #109 new shipment channel of custom metrics as log messages
- #108 upgrade Jetty version used in tests to 9.4.41.v20210516
- #106 upgrade httpclient version used in tests to 4.5.13
- upgrade Spring Boot version of sample app to 2.3.12.RELEASE
Note, that there were updates to the licensing and contribution documentation, to align with the SAP organization.
v3.4.0
This release brings a new sample app based on Spring Boot. Several security updates are included, one of which required an update of the Java Servlet API to version 3.1.0. Note, the submodule cf-java-logging-support-jersey is now deprecated to be removed latest with version 4 of this library.
Detailed changes are:
- #87 upgrade Jetty version used in test to 9.4.35.v20201120
- includes upgrade of servlet-api to 3.1.0
- #94 new Spring Boot sample app
- #96 upgrade jackson-databind to 2.10.5.1
- #97 improve
TimestampConverter
for logback, thanks @rahuldeepattri - #98 deprecate cf-java-logging-support-jersey
- #101 improve timestamp handling in
RequestRecord
v3.3.0
This release restructures the servlet module. It allows for greater flexibility in configuration and easier extensibility. You can now mix and match different features of the RequestLoggingFilters to better suit your use-case. Additionally, you can integrate your own DynamicLogLevelProcessor implementation. It is now also easier to propagate HTTP headers to your log messages.
Improvements:
- Extraction of Filters for HTTP request instrumentation
- StaticLevelRequestLoggingFilter without JWT dependencies
- DynamicLogLevelFilter extensible by custom DynamicLogLevelProcessor and DynamicLogLevelConfiguration
- Performance improvement by saving Logger instantiations
- Support for SAP Passport tracing headers
v3.2.1
Fixes:
- WrappedInputStream now delegates all methods to wrapped stream
- x-vcap-request-id headers are added as field request_id to all log messages by RequestLoggingFilter
v3.2.0
This release introduce a new filtering approach for dynamic log levels. It is
now possible to restrict the messages according to the package or class, that
created the log messages. See the Wiki on Dynamic Log Levels for details.
Furthermore, automatic generation timestamps in field written_ts
was changed
to increase precision. The actual granularity depends on the Java Version and
JVM. Starting with Java 9, the resolution can be nanoseconds, depending on the
JVM.
Improvements:
- new filters for dynamic log levels
- higher precision for
written_ts
- upgrade Unit to v4.13.1
Note: The library has been compiled against Java 8 since version 3.0.0, but
the code remained compatible with Java 6. This release switches the syntax
checker to allow Java 8, which has been used for the new features.
v3.1.0
The main change on this release is the refactoring of the custom fields feature.
A new format of the JSON messages was introduced by SAP CloudPlatform CloudFoundry.
Version 3.1.0 implements this new format. It does not change the Java API of the library.
There are some improvements on the functionality:
CustomFields.customField
log arguments always takes precedence over MDC fields.CustomFields.customField
log arguments need to be configured as custom fields like MDC fields.
Dependency Upgrades:
- log4j to 2.13.3
- slf4j to 1.7.25
v3.0.9
Improvements:
- Added tenant_subdomain
- Updated the Documentation
Fixes:
- fixed timestamp_ms using System.nanoTime(), which resulted in timestamps not correlated to the real current time.
Now it is calculated using System.currentTimeMillis(), which will provide real current timestamps.
v3.0.8
Improvements:
- RequestLoggingFilter will not wrap requests and responses if no request log is emitted due to logging configuration
- refreshed documentation of fields
Fixes:
- jaxb-dependency migrate according to #57
v3.0.7
Fix:
- protect against JSON injection in fields "thread" and "logger"
v3.0.6
Fixes:
- upgrade Java-JWT to v3.8.3
- upgrade jackson-databind to v2.10.1
- support mark/reset/seek for
WrappedInputReader
and do not miss newlines in length calculation