12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- plugins {
- id("otel.javaagent-instrumentation")
- }
- muzzle {
- pass {
- group.set("org.apache.logging.log4j")
- module.set("log4j-core")
- versions.set("[2.17.0,)")
- assertInverse.set(true)
- }
- }
- dependencies {
- library("org.apache.logging.log4j:log4j-core:2.17.0")
- implementation(project(":instrumentation:log4j:log4j-context-data:log4j-context-data-2.17:library-autoconfigure"))
- testInstrumentation(project(":instrumentation:log4j:log4j-context-data:log4j-context-data-2.7:javaagent"))
- testImplementation(project(":instrumentation:log4j:log4j-context-data:log4j-context-data-common:testing"))
- }
- testing {
- suites {
- // Very different codepaths when threadlocals are enabled or not so we check both.
- // Regression test for https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/2403
- val testDisableThreadLocals by registering(JvmTestSuite::class) {
- sources {
- java {
- setSrcDirs(listOf("src/test/java"))
- }
- }
- dependencies {
- implementation(project(":instrumentation:log4j:log4j-context-data:log4j-context-data-common:testing"))
- }
- targets {
- all {
- testTask.configure {
- jvmArgs("-Dlog4j2.is.webapp=false")
- jvmArgs("-Dlog4j2.enable.threadlocals=false")
- jvmArgs("-Dotel.instrumentation.common.mdc.resource-attributes=service.name,telemetry.sdk.language")
- }
- }
- }
- }
- val testAddBaggage by registering(JvmTestSuite::class) {
- dependencies {
- implementation(project(":instrumentation:log4j:log4j-context-data:log4j-context-data-common:testing"))
- }
- targets {
- all {
- testTask.configure {
- jvmArgs("-Dotel.instrumentation.log4j-context-data.add-baggage=true")
- jvmArgs("-Dlog4j2.is.webapp=false")
- jvmArgs("-Dlog4j2.enable.threadlocals=true")
- }
- }
- }
- }
- val testLoggingKeys by registering(JvmTestSuite::class) {
- dependencies {
- implementation(project(":instrumentation:log4j:log4j-context-data:log4j-context-data-common:testing"))
- }
- targets {
- all {
- testTask.configure {
- jvmArgs("-Dotel.instrumentation.common.logging.trace-id=trace_id_test")
- jvmArgs("-Dotel.instrumentation.common.logging.span-id=span_id_test")
- jvmArgs("-Dotel.instrumentation.common.logging.trace-flags=trace_flags_test")
- jvmArgs("-Dlog4j2.is.webapp=false")
- jvmArgs("-Dlog4j2.enable.threadlocals=true")
- }
- }
- }
- }
- }
- }
- tasks {
- // Threadlocals are always false if is.webapp is true, so we make sure to override it because as of
- // now testing-common includes jetty / servlet.
- test {
- jvmArgs("-Dlog4j2.is.webapp=false")
- jvmArgs("-Dlog4j2.enable.threadlocals=true")
- jvmArgs("-Dotel.instrumentation.common.mdc.resource-attributes=service.name,telemetry.sdk.language")
- }
- named("check") {
- dependsOn(testing.suites)
- }
- }
|