Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[INLONG-11455][Sort] Only one OpenTelemetryAppender should be registered #11480

Merged
merged 6 commits into from
Nov 14, 2024

Conversation

qy-liuhuo
Copy link
Contributor

@qy-liuhuo qy-liuhuo commented Nov 10, 2024

Fixes #11455

Motivation

Only one OpenTelemetryAppender should be registered

Modifications

Added duplicate registration judgment to the install and uninstall functions, and use synchronized locks to ensure concurrency safety.

Furthermore, since users may set different logging levels, force log messages to be appended on successful installs and uninstalls to ensure successful reporting at any logging level. This also makes it easier to write unit tests to check that the logging reports are working.

before:
LOG.info("OpenTelemetryLogger installed");

now:
otelAppender.append(
                    new Log4jLogEvent.Builder()
                        .setLevel(Level.INFO)
                        .setMessage(new SimpleMessage("OpenTelemetryLogger installed"))
                        .build());

Verifying this change

(Please pick either of the following options)

  • This change is a trivial rework/code cleanup without any test coverage.

  • This change is already covered by existing tests, such as:
    (please describe tests)

  • This change added tests and can be verified as follows:

    (example:)

    • Added integration tests for end-to-end deployment with large payloads (10MB)
    • Extended integration test for recovery after broker failure

Documentation

  • Does this pull request introduce a new feature? (yes / no)
  • If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)
  • If a feature is not applicable for documentation, explain why?
  • If a feature is not documented yet in this PR, please create a follow-up issue for adding the documentation

Copy link
Contributor

@XiaoYou201 XiaoYou201 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM~

@dockerzhang dockerzhang merged commit ed165b7 into apache:master Nov 14, 2024
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Bug][Sort] Only one OpenTelemetryAppender should be registered
5 participants