From c9ec6f2d5dd02be8a4fa00b528563527913bed6b Mon Sep 17 00:00:00 2001 From: Lauri Tulmin Date: Fri, 1 Apr 2022 21:18:01 +0300 Subject: [PATCH] Fix flaky exception handler test (#5730) --- .../tooling/bytebuddy/ExceptionHandlerTest.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/javaagent-tooling/src/testExceptionHandler/java/io/opentelemetry/javaagent/tooling/bytebuddy/ExceptionHandlerTest.java b/javaagent-tooling/src/testExceptionHandler/java/io/opentelemetry/javaagent/tooling/bytebuddy/ExceptionHandlerTest.java index 91f7b1291d..97d20284b9 100644 --- a/javaagent-tooling/src/testExceptionHandler/java/io/opentelemetry/javaagent/tooling/bytebuddy/ExceptionHandlerTest.java +++ b/javaagent-tooling/src/testExceptionHandler/java/io/opentelemetry/javaagent/tooling/bytebuddy/ExceptionHandlerTest.java @@ -30,6 +30,7 @@ class ExceptionHandlerTest { private static final TestHandler testHandler = new TestHandler(); private static ResettableClassFileTransformer transformer; + private static Logger exceptionLogger; @BeforeAll static void setUp() { @@ -58,9 +59,11 @@ class ExceptionHandlerTest { ByteBuddyAgent.install(); transformer = builder.installOn(ByteBuddyAgent.getInstrumentation()); - Logger logger = Logger.getLogger(ExceptionLogger.class.getName()); - logger.setLevel(Level.FINE); - logger.addHandler(testHandler); + // keep logger in static field to ensure that it won't get gcd before ExceptionLogger + // class is initialized which would reset logger back to default configuration + exceptionLogger = Logger.getLogger(ExceptionLogger.class.getName()); + exceptionLogger.setLevel(Level.FINE); + exceptionLogger.addHandler(testHandler); } @AfterAll