Re: System logger and unexpanded placeholders

Travis Spencer <[email protected]>
Newsgroups gmane.comp.jakarta.log4j.user
Message-ID <CAEKOcs0tZa+bY76wdsyZs0=vLVA_nnSQ1J9NORSWGzP5q4HOtA@mail.gmail.com>
Heh, good that it's fixed in any case. I've linked to that issue in the
issue I created, and closed it. Thanks, Carter.

On Thu, Jan 20, 2022 at 12:39 PM Carter Kozak <[email protected]> wrote:

> Ah! I hadn’t been able to recall where this was reported, but I fixed it
> on Monday as LOG4J2-3345 :-)
>
> -ck
>
> > On Jan 20, 2022, at 03:57, Travis Spencer <[email protected]> wrote:
> >
> > Added a ticket with a sample project attached which reproduces the
> issue:
> > https://issues.apache.org/jira/browse/LOG4J2-3355
> >
> >> On Fri, Jan 7, 2022 at 1:38 PM Gary Gregory <[email protected]>
> wrote:
> >>
> >> If our code changes, please add a code comment that explains why that
> class
> >> is used so that maintenance is easier in the future :-)
> >>
> >> Gary
> >>
> >>
> >>> On Fri, Jan 7, 2022, 07:21 Volkan Yazıcı <[email protected]> wrote:
> >>>
> >>> Thanks for reaching out, Travis! I don't have much of an experience in
> >>> log4j-jpl, but after a 15min check, this definitely seems like a bug to
> >> me.
> >>> (`MessageFormatMessage` should have been used instead of
> >>> `ParametrizedMessage`, I guess.) Mind filling in a JIRA ticket along
> with
> >>> your findings, please?
> >>>
> >>> On Tue, Jan 4, 2022 at 3:22 PM Travis Spencer <
> [email protected]>
> >>> wrote:
> >>>
> >>>> 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
> >>>>
> >>>
> >>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.