diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/LdapMessages.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/LdapMessages.java index b4603a23bf..9dfab41277 100644 --- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/LdapMessages.java +++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/LdapMessages.java @@ -12,6 +12,7 @@ * information: "Portions Copyright [year] [name of copyright owner]". * * Copyright 2016 ForgeRock AS. + * Portions Copyright 2026 3A Systems, LLC. */ package org.forgerock.opendj.ldap.spi; @@ -106,6 +107,13 @@ public static final class LdapResponseMessage extends LdapMessageEnvelope { diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/LoggerConfigManager.java b/opendj-server-legacy/src/main/java/org/opends/server/core/LoggerConfigManager.java index 7bfe1ef053..66b0be2b28 100644 --- a/opendj-server-legacy/src/main/java/org/opends/server/core/LoggerConfigManager.java +++ b/opendj-server-legacy/src/main/java/org/opends/server/core/LoggerConfigManager.java @@ -13,6 +13,7 @@ * * Copyright 2006-2008 Sun Microsystems, Inc. * Portions Copyright 2013-2016 ForgeRock AS. + * Portions Copyright 2026 3A Systems, LLC. */ package org.opends.server.core; @@ -109,8 +110,13 @@ private void changeJulLogLevel(final Level newLevel) { SLF4JBridgeHandler.removeHandlersForRootLogger(); // This is needed to avoid major performance issue. See: http://www.slf4j.org/legacy.html#jul-to-slf4j + // Limit Grizzly JUL logging to FINE to prevent a ClassCastException in + // FilterChainContext.toString() (Grizzly bug) when debug logging is enabled. + // Grizzly 3.0.1 DefaultFilterChain.executeFilter() checks isLoggable(FINEST) but + // its FilterChainContext.toString() incorrectly casts the message to char[]. LogManager.getLogManager().readConfiguration( - new ByteArrayInputStream((".level=" + newLevel).getBytes())); + new ByteArrayInputStream( + (".level=" + newLevel + "\norg.glassfish.grizzly.level=FINE").getBytes())); SLF4JBridgeHandler.install(); currentJulLogLevel = newLevel; }