Hi All, I just learned about the Log4j JDK Platform Logging Adapter. I added log4j-jpl-2.17.1.jar to my class path.
I added this to my log4j config file: <Logger name="java.io.serialization" level="TRACE" /> Now, I see this in my log file: 2022-01-04T15:05:52:849+0100 TRACE 8P1u2Wr5 dd4ec2e6 {req-169} java.io.serialization:-1 ObjectInputFilter {0}: {1}, array length: {2}, nRefs: {3}, depth: {4}, bytes: {5}, ex: {6} Looking at the OpenJDK 11 code at java.base/java/io/ObjectInputStream.java:1345, I see this: Logging.filterLogger.log(status == null || status == ObjectInputFilter.Status.REJECTED ? Logger.Level.DEBUG : Logger.Level.TRACE, "ObjectInputFilter {0}: {1}, array length: {2}, nRefs: {3}, depth: {4}, bytes: {5}, ex: {6}", status, clazz, arrayLength, totalObjectRefs, depth, bytesRead, Objects.toString(ex, "n/a")); This logger seems to be set above this on line 300ish: static { Logger filterLog = System.getLogger("java.io.serialization"); filterLogger = (filterLog.isLoggable(Logger.Level.DEBUG) || filterLog.isLoggable(Logger.Level.TRACE)) ? filterLog : null; } So, the placeholders don't seem to get changed for their parameter values. Do I need to do something more in the Log4j JDK Platform Logging Adapter to make this work or is this perhaps a bug? TIA! -- Regards, Travis Spencer