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>