I will take a look...

On Nov 13, 2017 08:43, "Ralph Goers" <ralph.go...@dslextreme.com> wrote:

> Are you planning on fixing this?
>
> Ralph
>
> > On Nov 11, 2017, at 5:15 PM, Ralph Goers <ralph.go...@dslextreme.com>
> wrote:
> >
> > Because the caller of newLogger(name) is AbstractLogger its ClassLoader
> will always be used. You need the ClassLoader of the caller of getLogger().
> >
> > Ralph
> >
> >> On Nov 11, 2017, at 3:43 PM, Gary Gregory <garydgreg...@gmail.com>
> wrote:
> >>
> >> Please code review git master. I'm not sure I have the class loader
> right.
> >>
> >> Gary
> >>
> >> On Sat, Nov 11, 2017 at 2:54 PM, Ralph Goers <
> ralph.go...@dslextreme.com>
> >> wrote:
> >>
> >>> Oh, but you probably don’t want to extend AbstractLogger. You really
> want
> >>> the FQCN of the caller to be able to identify the ClassLoader and
> >>> LoggerContext to use and you won’t get that from AbstractLogger’s
> getLogger
> >>> method.
> >>>
> >>> Ralph
> >>>
> >>>> On Nov 11, 2017, at 2:45 PM, Ralph Goers <ralph.go...@dslextreme.com>
> >>> wrote:
> >>>>
> >>>> Sure. Look at TomcatLogger. It does exactly what you are trying to do.
> >>>>
> >>>> Ralph
> >>>>
> >>>>> On Nov 11, 2017, at 2:02 PM, Gary Gregory <garydgreg...@gmail.com>
> >>> wrote:
> >>>>>
> >>>>> The Javadoc for Log4j's LoggerAdapter says "This registry should not
> be
> >>>>> used for Log4j Loggers; it is instead used for creating bridges to
> other
> >>>>> external log systems.".
> >>>>>
> >>>>> In this case we are not bridging TO another log system. We are
> plugging
> >>>>> INTO Jetty's log system and subclassing Jetty's own LoggerAdapter
> class
> >>>>> (out convenience.)
> >>>>>
> >>>>> Further thoughts?
> >>>>>
> >>>>> Gary
> >>>>>
> >>>>> On Fri, Nov 10, 2017 at 9:25 PM, Matt Sicker <boa...@gmail.com>
> wrote:
> >>>>>
> >>>>>> IIRC, the easiest way to support it might be to use
> >>>>>> https://logging.apache.org/log4j/2.x/log4j-api/apidocs/
> >>>>>> org/apache/logging/log4j/spi/AbstractLoggerAdapter.html
> >>>>>>
> >>>>>> On 10 November 2017 at 22:16, Gary Gregory <garydgreg...@gmail.com>
> >>> wrote:
> >>>>>>
> >>>>>>> I think you are correct...
> >>>>>>>
> >>>>>>> Gary
> >>>>>>>
> >>>>>>> On Fri, Nov 10, 2017 at 6:59 PM, Matt Sicker <boa...@gmail.com>
> >>> wrote:
> >>>>>>>
> >>>>>>>> Wouldn't this implementation contain incorrect caller location
> >>>>>>> information?
> >>>>>>>>
> >>>>>>>> On 10 November 2017 at 19:25, <ggreg...@apache.org> wrote:
> >>>>>>>>
> >>>>>>>>> Repository: logging-log4j2
> >>>>>>>>> Updated Branches:
> >>>>>>>>> refs/heads/master aad2f132b -> 7d52f131e
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> [LOG4J2-2114] Provide a native Log4j 2 implementation of Eclipse
> >>>>>>> Jetty's
> >>>>>>>>> org.eclipse.jetty.util.log.Logger.
> >>>>>>>>>
> >>>>>>>>> Project: http://git-wip-us.apache.org/
> repos/asf/logging-log4j2/repo
> >>>>>>>>> Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/
> >>>>>>>>> commit/7d52f131
> >>>>>>>>> Tree: http://git-wip-us.apache.org/
> repos/asf/logging-log4j2/tree/
> >>>>>>>> 7d52f131
> >>>>>>>>> Diff: http://git-wip-us.apache.org/
> repos/asf/logging-log4j2/diff/
> >>>>>>>> 7d52f131
> >>>>>>>>>
> >>>>>>>>> Branch: refs/heads/master
> >>>>>>>>> Commit: 7d52f131ec1e000834bcb40343f3f2d41805c75a
> >>>>>>>>> Parents: aad2f13
> >>>>>>>>> Author: Gary Gregory <ggreg...@apache.org>
> >>>>>>>>> Authored: Fri Nov 10 18:25:47 2017 -0700
> >>>>>>>>> Committer: Gary Gregory <ggreg...@apache.org>
> >>>>>>>>> Committed: Fri Nov 10 18:25:47 2017 -0700
> >>>>>>>>>
> >>>>>>>>> ------------------------------------------------------------
> >>>>>> ----------
> >>>>>>>>> log4j-appserver/pom.xml                         |   8 +
> >>>>>>>>> .../log4j/appserver/jetty/Log4j2Logger.java     | 184
> >>>>>>>> +++++++++++++++++++
> >>>>>>>>> src/changes/changes.xml                         |   3 +
> >>>>>>>>> 3 files changed, 195 insertions(+)
> >>>>>>>>> ------------------------------------------------------------
> >>>>>> ----------
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/
> >>>>>>>>> 7d52f131/log4j-appserver/pom.xml
> >>>>>>>>> ------------------------------------------------------------
> >>>>>> ----------
> >>>>>>>>> diff --git a/log4j-appserver/pom.xml b/log4j-appserver/pom.xml
> >>>>>>>>> index e96b1fc..6acd77b 100644
> >>>>>>>>> --- a/log4j-appserver/pom.xml
> >>>>>>>>> +++ b/log4j-appserver/pom.xml
> >>>>>>>>> @@ -34,6 +34,7 @@
> >>>>>>>>>  <docLabel>Web Documentation</docLabel>
> >>>>>>>>>  <projectDir>/log4j-appserver</projectDir>
> >>>>>>>>>  <tomcat.version>8.5.20</tomcat.version>
> >>>>>>>>> +    <jetty.version>8.2.0.v20160908</jetty.version> <!--  Jetty
> 9
> >>>>>>>>> requires Java 8 -->
> >>>>>>>>>  <module.name>org.apache.logging.log4j.appserver</module.name>
> >>>>>>>>> </properties>
> >>>>>>>>>
> >>>>>>>>> @@ -56,6 +57,7 @@
> >>>>>>>>>    <groupId>org.apache.tomcat</groupId>
> >>>>>>>>>    <artifactId>tomcat-catalina</artifactId>
> >>>>>>>>>    <version>${tomcat.version}</version>
> >>>>>>>>> +      <scope>provided</scope>
> >>>>>>>>>    <exclusions>
> >>>>>>>>>      <exclusion>
> >>>>>>>>>        <groupId>org.apache.tomcat</groupId>
> >>>>>>>>> @@ -71,6 +73,12 @@
> >>>>>>>>>      </exclusion>
> >>>>>>>>>    </exclusions>
> >>>>>>>>>  </dependency>
> >>>>>>>>> +    <dependency>
> >>>>>>>>> +      <groupId>org.eclipse.jetty</groupId>
> >>>>>>>>> +      <artifactId>jetty-util</artifactId>
> >>>>>>>>> +      <version>${jetty.version}</version>
> >>>>>>>>> +      <scope>provided</scope>
> >>>>>>>>> +    </dependency>
> >>>>>>>>>
> >>>>>>>>>  <!-- Test dependencies -->
> >>>>>>>>>  <dependency>
> >>>>>>>>>
> >>>>>>>>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/
> >>>>>>>>> 7d52f131/log4j-appserver/src/main/java/org/apache/logging/
> >>>>>>>>> log4j/appserver/jetty/Log4j2Logger.java
> >>>>>>>>> ------------------------------------------------------------
> >>>>>> ----------
> >>>>>>>>> diff --git a/log4j-appserver/src/main/
> >>> java/org/apache/logging/log4j/
> >>>>>>>>> appserver/jetty/Log4j2Logger.java b/log4j-appserver/src/main/
> >>>>>>>>> java/org/apache/logging/log4j/appserver/jetty/Log4j2Logger.java
> >>>>>>>>> new file mode 100644
> >>>>>>>>> index 0000000..7d1ce14
> >>>>>>>>> --- /dev/null
> >>>>>>>>> +++ b/log4j-appserver/src/main/java/org/apache/logging/log4j/
> >>>>>>>>> appserver/jetty/Log4j2Logger.java
> >>>>>>>>> @@ -0,0 +1,184 @@
> >>>>>>>>> +/*
> >>>>>>>>> + * Licensed to the Apache Software Foundation (ASF) under one or
> >>>>>> more
> >>>>>>>>> + * contributor license agreements. See the NOTICE file
> distributed
> >>>>>>> with
> >>>>>>>>> + * this work for additional information regarding copyright
> >>>>>> ownership.
> >>>>>>>>> + * The ASF licenses this file to You under the Apache license,
> >>>>>> Version
> >>>>>>>> 2.0
> >>>>>>>>> + * (the "License"); you may not use this file except in
> compliance
> >>>>>>> with
> >>>>>>>>> + * the License. You may obtain a copy of the License at
> >>>>>>>>> + *
> >>>>>>>>> + *      http://www.apache.org/licenses/LICENSE-2.0
> >>>>>>>>> + *
> >>>>>>>>> + * Unless required by applicable law or agreed to in writing,
> >>>>>> software
> >>>>>>>>> + * distributed under the License is distributed on an "AS IS"
> >>> BASIS,
> >>>>>>>>> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
> or
> >>>>>>>>> implied.
> >>>>>>>>> + * See the license for the specific language governing
> permissions
> >>>>>> and
> >>>>>>>>> + * limitations under the license.
> >>>>>>>>> + */
> >>>>>>>>> +
> >>>>>>>>> +package org.apache.logging.log4j.appserver.jetty;
> >>>>>>>>> +
> >>>>>>>>> +import org.apache.logging.log4j.LogManager;
> >>>>>>>>> +import org.eclipse.jetty.util.log.AbstractLogger;
> >>>>>>>>> +import org.eclipse.jetty.util.log.Logger;
> >>>>>>>>> +
> >>>>>>>>> +/**
> >>>>>>>>> + * Provides a native Apache Log4j 2 for Jetty logging.
> >>>>>>>>> + */
> >>>>>>>>> +public class Log4j2Logger extends AbstractLogger {
> >>>>>>>>> +
> >>>>>>>>> +    private final org.apache.logging.log4j.Logger logger;
> >>>>>>>>> +
> >>>>>>>>> +    private final String name;
> >>>>>>>>> +
> >>>>>>>>> +    public Log4j2Logger(final String name) {
> >>>>>>>>> +        super();
> >>>>>>>>> +        this.name = name;
> >>>>>>>>> +        this.logger = LogManager.getLogger(name);
> >>>>>>>>> +    }
> >>>>>>>>> +
> >>>>>>>>> +    public Log4j2Logger() {
> >>>>>>>>> +        this("");
> >>>>>>>>> +    }
> >>>>>>>>> +
> >>>>>>>>> +    /*
> >>>>>>>>> +     * (non-Javadoc)
> >>>>>>>>> +     *
> >>>>>>>>> +     * @see org.eclipse.jetty.util.log.
> >>>>>> Logger#debug(java.lang.String,
> >>>>>>>>> java.lang.Object[])
> >>>>>>>>> +     */
> >>>>>>>>> +    @Override
> >>>>>>>>> +    public void debug(final String msg, final Object... args) {
> >>>>>>>>> +        logger.debug(msg, args);
> >>>>>>>>> +    }
> >>>>>>>>> +
> >>>>>>>>> +    /*
> >>>>>>>>> +     * (non-Javadoc)
> >>>>>>>>> +     *
> >>>>>>>>> +     * @see org.eclipse.jetty.util.log.
> >>>>>> Logger#debug(java.lang.String,
> >>>>>>>>> java.lang.Throwable)
> >>>>>>>>> +     */
> >>>>>>>>> +    @Override
> >>>>>>>>> +    public void debug(final String msg, final Throwable thrown)
> {
> >>>>>>>>> +        logger.debug(msg, thrown);
> >>>>>>>>> +    }
> >>>>>>>>> +
> >>>>>>>>> +    /*
> >>>>>>>>> +     * (non-Javadoc)
> >>>>>>>>> +     *
> >>>>>>>>> +     * @see org.eclipse.jetty.util.log.Logger#debug(java.lang.
> >>>>>>>> Throwable)
> >>>>>>>>> +     */
> >>>>>>>>> +    @Override
> >>>>>>>>> +    public void debug(final Throwable thrown) {
> >>>>>>>>> +        logger.debug(thrown);
> >>>>>>>>> +    }
> >>>>>>>>> +
> >>>>>>>>> +    /*
> >>>>>>>>> +     * (non-Javadoc)
> >>>>>>>>> +     *
> >>>>>>>>> +     * @see org.eclipse.jetty.util.log.Logger#getName()
> >>>>>>>>> +     */
> >>>>>>>>> +    @Override
> >>>>>>>>> +    public String getName() {
> >>>>>>>>> +        return name;
> >>>>>>>>> +    }
> >>>>>>>>> +
> >>>>>>>>> +    /*
> >>>>>>>>> +     * (non-Javadoc)
> >>>>>>>>> +     *
> >>>>>>>>> +     * @see org.eclipse.jetty.util.log.Logger#ignore(java.lang.
> >>>>>>>> Throwable)
> >>>>>>>>> +     */
> >>>>>>>>> +    @Override
> >>>>>>>>> +    public void ignore(final Throwable ignored) {
> >>>>>>>>> +        // TODO Auto-generated method stub
> >>>>>>>>> +
> >>>>>>>>> +    }
> >>>>>>>>> +
> >>>>>>>>> +    /*
> >>>>>>>>> +     * (non-Javadoc)
> >>>>>>>>> +     *
> >>>>>>>>> +     * @see org.eclipse.jetty.util.log.
> >>>>>> Logger#info(java.lang.String,
> >>>>>>>>> java.lang.Object[])
> >>>>>>>>> +     */
> >>>>>>>>> +    @Override
> >>>>>>>>> +    public void info(final String msg, final Object... args) {
> >>>>>>>>> +        logger.info(msg, args);
> >>>>>>>>> +    }
> >>>>>>>>> +
> >>>>>>>>> +    /*
> >>>>>>>>> +     * (non-Javadoc)
> >>>>>>>>> +     *
> >>>>>>>>> +     * @see org.eclipse.jetty.util.log.
> >>>>>> Logger#info(java.lang.String,
> >>>>>>>>> java.lang.Throwable)
> >>>>>>>>> +     */
> >>>>>>>>> +    @Override
> >>>>>>>>> +    public void info(final String msg, final Throwable thrown) {
> >>>>>>>>> +        logger.info(msg, thrown);
> >>>>>>>>> +    }
> >>>>>>>>> +
> >>>>>>>>> +    /*
> >>>>>>>>> +     * (non-Javadoc)
> >>>>>>>>> +     *
> >>>>>>>>> +     * @see org.eclipse.jetty.util.log.Logger#info(java.lang.
> >>>>>>> Throwable)
> >>>>>>>>> +     */
> >>>>>>>>> +    @Override
> >>>>>>>>> +    public void info(final Throwable thrown) {
> >>>>>>>>> +        logger.info(thrown);
> >>>>>>>>> +    }
> >>>>>>>>> +
> >>>>>>>>> +    /*
> >>>>>>>>> +     * (non-Javadoc)
> >>>>>>>>> +     *
> >>>>>>>>> +     * @see org.eclipse.jetty.util.log.Logger#isDebugEnabled()
> >>>>>>>>> +     */
> >>>>>>>>> +    @Override
> >>>>>>>>> +    public boolean isDebugEnabled() {
> >>>>>>>>> +        return logger.isDebugEnabled();
> >>>>>>>>> +    }
> >>>>>>>>> +
> >>>>>>>>> +    /*
> >>>>>>>>> +     * (non-Javadoc)
> >>>>>>>>> +     *
> >>>>>>>>> +     * @see org.eclipse.jetty.util.log.
> >>>>>> AbstractLogger#newLogger(java.
> >>>>>>>>> lang.String)
> >>>>>>>>> +     */
> >>>>>>>>> +    @Override
> >>>>>>>>> +    protected Logger newLogger(final String fullname) {
> >>>>>>>>> +        return new Log4j2Logger(fullname);
> >>>>>>>>> +    }
> >>>>>>>>> +
> >>>>>>>>> +    /*
> >>>>>>>>> +     * (non-Javadoc)
> >>>>>>>>> +     *
> >>>>>>>>> +     * @see org.eclipse.jetty.util.log.Logger#setDebugEnabled(
> >>>>>>> boolean)
> >>>>>>>>> +     */
> >>>>>>>>> +    @Override
> >>>>>>>>> +    public void setDebugEnabled(final boolean enabled) {
> >>>>>>>>> +        warn("setDebugEnabled not implemented");
> >>>>>>>>> +    }
> >>>>>>>>> +
> >>>>>>>>> +    /*
> >>>>>>>>> +     * (non-Javadoc)
> >>>>>>>>> +     *
> >>>>>>>>> +     * @see org.eclipse.jetty.util.log.
> >>>>>> Logger#warn(java.lang.String,
> >>>>>>>>> java.lang.Object[])
> >>>>>>>>> +     */
> >>>>>>>>> +    @Override
> >>>>>>>>> +    public void warn(final String msg, final Object... args) {
> >>>>>>>>> +        logger.warn(msg, args);
> >>>>>>>>> +    }
> >>>>>>>>> +
> >>>>>>>>> +    /*
> >>>>>>>>> +     * (non-Javadoc)
> >>>>>>>>> +     *
> >>>>>>>>> +     * @see org.eclipse.jetty.util.log.
> >>>>>> Logger#warn(java.lang.String,
> >>>>>>>>> java.lang.Throwable)
> >>>>>>>>> +     */
> >>>>>>>>> +    @Override
> >>>>>>>>> +    public void warn(final String msg, final Throwable thrown) {
> >>>>>>>>> +        logger.warn(msg, thrown);
> >>>>>>>>> +    }
> >>>>>>>>> +
> >>>>>>>>> +    /*
> >>>>>>>>> +     * (non-Javadoc)
> >>>>>>>>> +     *
> >>>>>>>>> +     * @see org.eclipse.jetty.util.log.Logger#warn(java.lang.
> >>>>>>> Throwable)
> >>>>>>>>> +     */
> >>>>>>>>> +    @Override
> >>>>>>>>> +    public void warn(final Throwable thrown) {
> >>>>>>>>> +        logger.warn(thrown);
> >>>>>>>>> +    }
> >>>>>>>>> +
> >>>>>>>>> +}
> >>>>>>>>>
> >>>>>>>>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/
> >>>>>>>>> 7d52f131/src/changes/changes.xml
> >>>>>>>>> ------------------------------------------------------------
> >>>>>> ----------
> >>>>>>>>> diff --git a/src/changes/changes.xml b/src/changes/changes.xml
> >>>>>>>>> index 2bcefb2..070e4a1 100644
> >>>>>>>>> --- a/src/changes/changes.xml
> >>>>>>>>> +++ b/src/changes/changes.xml
> >>>>>>>>> @@ -37,6 +37,9 @@
> >>>>>>>>>    <action issue="LOG4J2-2103" dev="mikes" type="add">
> >>>>>>>>>      XML encoding for PatternLayout.
> >>>>>>>>>    </action>
> >>>>>>>>> +      <action issue="LOG4J2-2114" dev="ggregory" type="add">
> >>>>>>>>> +        Provide a native Log4j 2 implementation of Eclipse
> Jetty's
> >>>>>>>>> org.eclipse.jetty.util.log.Logger.
> >>>>>>>>> +      </action>
> >>>>>>>>>    <action issue="LOG4J2-1203" dev="mikes" type="add"
> >>>>>>> due-to="Robert
> >>>>>>>>> Turner">
> >>>>>>>>>      Allow filtering of line breaks in layout pattern.
> >>>>>>>>>    </action>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> --
> >>>>>>>> Matt Sicker <boa...@gmail.com>
> >>>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> --
> >>>>>> Matt Sicker <boa...@gmail.com>
> >>>>>>
> >>>>
> >>>>
> >>>>
> >>>
> >>>
> >>>
> >
> >
> >
>
>
>

Reply via email to