Skip to content

Commit b4beac8

Browse files
committed
feat(javaagent-log-appender): transfer appender settings to system properties
JavaAgent instrumentation of Log Appenders does not respect logger configs like `log4j2.xml` or `logback.xml` as it uses direct patching of loggers to do the same and no appenders set in the loggers.
1 parent b40a708 commit b4beac8

File tree

3 files changed

+14
-16
lines changed

3 files changed

+14
-16
lines changed

javaagent-log-appender/build.gradle.kts

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,7 @@ dependencies {
3333
implementation("io.opentelemetry:opentelemetry-api")
3434
implementation("io.opentelemetry.semconv:opentelemetry-semconv")
3535

36-
// OpenTelemetry log4j / logback appenders
37-
implementation("io.opentelemetry.instrumentation:opentelemetry-log4j-appender-2.17")
38-
implementation("io.opentelemetry.instrumentation:opentelemetry-logback-appender-1.0")
39-
40-
// OpenTelemetry JavaAgent
36+
// OpenTelemetry JavaAgent, this brings its own standalone log4j / logback appenders
4137
agent("io.opentelemetry.javaagent:opentelemetry-javaagent:2.8.0")
4238
}
4339

@@ -49,5 +45,15 @@ application {
4945
tasks.named<JavaExec>("run") {
5046
doFirst {
5147
jvmArgs("-javaagent:${agent.singleFile}")
48+
// log4j-appender properties
49+
jvmArgs(
50+
"-Dotel.instrumentation.log4j-appender.experimental.capture-map-message-attributes=true",
51+
"-Dotel.instrumentation.log4j-appender.experimental-log-attributes=true"
52+
)
53+
// logback-appender properties
54+
jvmArgs(
55+
"-Dotel.instrumentation.logback-appender.experimental-log-attributes=true",
56+
"-Dotel.instrumentation.logback-appender.experimental.capture-key-value-pair-attributes=true"
57+
)
5258
}
5359
}
Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<Configuration status="WARN" packages="io.opentelemetry.instrumentation.log4j.appender.v2_17">
2+
<Configuration status="WARN">
33
<Appenders>
44
<Console name="ConsoleAppender" target="SYSTEM_OUT" follow="true">
55
<PatternLayout pattern="log4j2: %d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
66
</Console>
7-
<OpenTelemetry name="OpenTelemetryAppender" captureMapMessageAttributes="true" captureExperimentalAttributes="true"/>
87
</Appenders>
98
<Loggers>
109
<Root level="info">
11-
<AppenderRef ref="OpenTelemetryAppender" />
1210
<AppenderRef ref="ConsoleAppender" />
1311
</Root>
1412
</Loggers>
15-
</Configuration>
13+
</Configuration>

javaagent-log-appender/src/main/resources/logback.xml

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,7 @@
77
</pattern>
88
</encoder>
99
</appender>
10-
<appender name="OpenTelemetry"
11-
class="io.opentelemetry.instrumentation.logback.appender.v1_0.OpenTelemetryAppender">
12-
<captureExperimentalAttributes>true</captureExperimentalAttributes>
13-
<captureKeyValuePairAttributes>true</captureKeyValuePairAttributes>
14-
</appender>
1510
<root level="INFO">
1611
<appender-ref ref="console"/>
17-
<appender-ref ref="OpenTelemetry"/>
1812
</root>
19-
</configuration>
13+
</configuration>

0 commit comments

Comments
 (0)