Log throttling and notable bug fixes in 26.0.0.1
In this release, Open Liberty introduces log throttling to automatically suppress excessive, repeated log messages, helping developers reduce noise and manage high-volume logging more effectively.
In Open Liberty 26.0.0.1:
Along with the new features and functions added to the runtime, we’ve also made updates to our guides.
View the list of fixed bugs in 26.0.0.1.
Check out previous Open Liberty GA release blog posts.
Develop and run your apps using 26.0.0.1
If you’re using Maven, include the following in your pom.xml file:
<plugin>
<groupId>io.openliberty.tools</groupId>
<artifactId>liberty-maven-plugin</artifactId>
<version>3.11.5</version>
</plugin>
Or for Gradle, include the following in your build.gradle file:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'io.openliberty.tools:liberty-gradle-plugin:3.9.6'
}
}
apply plugin: 'liberty'
Or if you’re using container images:
FROM icr.io/appcafe/open-liberty
Or take a look at our Downloads page.
If you’re using IntelliJ IDEA, Visual Studio Code or Eclipse IDE, you can also take advantage of our open source Liberty developer tools to enable effective development, testing, debugging and application management all from within your IDE.
Log Throttling
Open Liberty Logging is introducing log throttling. Developers previously had no way to throttle or suppress high-volume messages. This new feature helps to prevent excessive log output when the same log events occur repeatedly within a short span of time.
Throttling is enabled by default. While enabled, Liberty tracks each messageID using a sliding window. By default, any messageID that is repeated more than 1,000 times within a five-minute interval is suppressed. A throttle warning is logged when throttling begins.
Log throttling can be configured to throttle messages based on the message or messageID by using the throttleType logging attribute. The number of messages allowed before throttling begins can be configured by using the throttleMaxMessagesPerWindow attribute.
Log Throttling is disabled by setting throttleMaxMessagesPerWindow to 0.
Currently, these attributes can be configured as follows:
-
In
server.xml:<logging throttleMaxMessagesPerWindow="5000" throttleType="messageID" /> -
In
bootstrap.properties:com.ibm.ws.logging.throttle.max.messages.per.window=5000 com.ibm.ws.logging.throttle.type=messageID -
In
server.env:WLP_LOGGING_THROTTLE_MAX_MESSAGES_PER_WINDOW=5000 WLP_LOGGING_THROTTLE_TYPE=messageID
Difference between message and messageID:
Consider the following example of a log event: TEST0111I: Hello World!.
When throttleType is set to messageID, throttling is exclusively applied based on the number of occurrences of the messageID. In this example, TEST0111I is used for throttling.
When throttleType is set to message, throttling is applied to the entire message. Any variation in the message content is tracked separately. In this example, TEST0111I: Hello World! is used for throttling.
Notable bugs fixed in this release
We’ve spent some time fixing bugs. The following sections describe just some of the issues resolved in this release. If you’re interested, here’s the full list of bugs fixed in 26.0.0.1.
New and updated guides since the previous release
As Open Liberty features and functionality continue to grow, we continue to add new guides to openliberty.io on those topics to make their adoption as easy as possible.
Two new guides have been published under the Observability category:
Get Open Liberty 26.0.0.1 now
Available through Maven, Gradle, Docker, and as a downloadable archive.