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