Call for feedback: I've implemented an AsyncHttpAppender #4020
mlangc
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
I've spent a considerable part of my Christmas holidays putting together an AsyncHttpAppender that I want to release in
the more-log4j2 library that I'm maintaining.
My personal use-case is pushing logs to the Dynatrace Ingest API without relying on proprietary Java agents or OpenTelemetry, but the appender is generic and can be integrated with other log monitoring solutions like Datadog and Grafana.
In theory, pushing logs to these APIs is also possible with the regular HttpAppender, however its performance is not acceptable even for toy projects, since logging a few lines per second ties up an entire thread due to the synchronous nature of the
HttpAppender.Thanks to compression and batching, the
AsyncHttpAppendercan handle log throughputs that are multiple orders of magnitude higher than what you can achieve with the regularHttpAppender. The implementation features different strategies to deal with overload situations, and retries with exponential backoff.I would like to release this new appender as part of
more-log4j2-2.0.0in the near future, but before doing so, I want tocollect and address any feedback you may have. You can use the snapshot release that I've pushed to Maven Central, if you want some hands-on experience without checking out the project locally.
Beta Was this translation helpful? Give feedback.
All reactions