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>