On Sun, Nov 12, 2017 at 7:25 AM, Mikael Ståldal <mi...@apache.org> wrote:

> Do we want a package-info.java in the Jetty package, like in the Tomcat
> package?
>
> And you should probably add a section about Jetty integraion in
> log4j-appserver/src/site/markdown/index.md.vm


Done. Please review.

Gary


>
>
>
> On 2017-11-11 23:43, Gary Gregory 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/r
>>>>>>>>> epos/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