Skip to content

OpenTelemetryAppender with Pax Log #556

@jherkel

Description

@jherkel

I use Opentelemetry Java agent with Karaf. It works but now I would like to receive all logs from karaf (4.4.6). I'm able to receive only opentelemetry internal logs but not logs from my application or karaf itself.

I have checked examples but it seems to me that this is a little bit different case as in examples.

Part of opentelemetry java agent is also Log4j2 appender
https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/instrumentation/log4j/log4j-appender-2.17/library/src/main/java/io/opentelemetry/instrumentation/log4j/appender/v2_17/OpenTelemetryAppender.java

log4j2 can be configured something like this:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" packages="io.opentelemetry.instrumentation.log4j.appender.v2_17">
  <Appenders>
    <Console name="Console" target="SYSTEM_OUT">
      <PatternLayout
          pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} trace_id: %X{trace_id} span_id: %X{span_id} trace_flags: %X{trace_flags} - %msg%n"/>
    </Console>
    <OpenTelemetry name="OpenTelemetryAppender"/>
  </Appenders>
  <Loggers>
    <Root>
      <AppenderRef ref="OpenTelemetryAppender" level="All"/>
      <AppenderRef ref="Console" level="All"/>
    </Root>
  </Loggers>
</Configuration>

But I don't have any idea how to export OpenTelemetryAppender to pax log so that log4j2 would be able to register a new type of appender.

So in general, could you advise me if it is even possible (there are some "special" things that javagent does). And if it is possible can you give me some hints (examples,blog) what I have to do.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions