SumoLogic/sumologic-log4j2-appender

Various changes

Closed this issue · 1 comments

FYI, we did a refactor / rewrite of some components to fit our needs and put the results at https://github.com/metamx/sumologic-log4j2-appender

The biggest changes are in metamx#1 , but we also moved the versioning to a ${log4j.version}.${patch} scheme instead of the one in the upstream branch which made it impossible to tell which log4j2 version the plugin was built for. The more recent versions of log4j2 induce a lot of plugin changes that make it hard to keep "how to write a plugin" compatible across arbitrary legacy versions (i.e. using log4j2 2.8.x plugin definitions in a 2.5 impl)

I don't know if any of these are interesting, but it is apache licensed in our branch so they can be pulled upstream.

A few notable changes are:

  • Improved concurrency
  • Exponential backoff with jitter on batch uploads
  • a SumoJsonFormat which produces a Json format that is mostly friendly with SumoLogic's json parsing. (JSON objects over 64kb get split by SumoLogic and do not parse correctly)
  • Change versioning semantics

Hi @drcrallen, thanks for raising the issue.

It looks like you guys made a lot of changes, and a lot of it looks appealing. They are all batched together, though, which makes it a bit tough for us to figure out what exactly is changing and why. We have also made some changes in this repo recently which might complicate a direct merge.

Would you be open to filing issues here with the details of the specific problems or limitations you encountered? If we can get clarity on the specifics we'd be happy to accept contributions which fix those issues.