logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Asma Zinneera Jabir <azinne...@gmail.com>
Subject Re: Apache commons-logging bridge for log4j2
Date Fri, 07 Jul 2017 05:49:06 GMT
I went through the ServiceLoader usages and asking from what I understand.
Does this mean that on top of adding the bridge dependency in the central
logging component I also have to use the ServiceLoader in each and every
file importing commons-logging to find the LogFactoryImpl in the bridge to
overrite it?

On Wed, Jul 5, 2017 at 10:59 PM, Ralph Goers <ralph.goers@dslextreme.com>
wrote:

> The ServiceLoader needs special handling to work in OSGi. See
> http://blog.osgi.org/2013/02/javautilserviceloader-in-osgi.html <
> http://blog.osgi.org/2013/02/javautilserviceloader-in-osgi.html>
>
> Ralph
>
> > On Jul 5, 2017, at 10:27 AM, Matt Sicker <boards@gmail.com> wrote:
> >
> > It's loaded via the ServiceLoader interface:
> >
> > https://github.com/apache/logging-log4j2/blob/master/
> log4j-jcl/src/main/resources/META-INF/services/org.apache.
> commons.logging.LogFactory
> >
> > On 5 July 2017 at 03:30, Asma Zinneera Jabir <azinneera@gmail.com>
> wrote:
> >
> >> I am trying to set up log4j2 for Apache Commons Logging using the
> >> *commons-logging.properties* file in an OSGi environment. For Log4j 1 I
> >> could use org.apache.commons.logging.Log=org.apache.commons.
> logging.impl.
> >> Log4JLogger which maps to version Log4j 1.2. I couldn't find out the
> >> implementation for log4J2. The version I am using is 2.8.2.
> >>
> >> There is a central logging component which is referred by other
> components
> >> and this component bundles other needed loggers (e.g. commons-logging,
> >> log4j/log4j2) added as dependencies.
> >>
> >> The Log4J2 documentation for Log4J Commons Logging Bridge
> >> <https://logging.apache.org/log4j/log4j-2.3/log4j-jcl/index.html>
> >> specifies
> >> that by just *adding the bridge jar along with the other Log4j 2 jars
> and
> >> the Commons Logging jar, all logging done using the Commons Logging API
> >> will be routed to Log4*. I tried this by adding
> >>
> >>   - log4j-api
> >>   - log4j-core
> >>   - log4j-jcl
> >>   - commons-logging
> >>
> >> dependencies in the *pom.xml* of the central logging component and
> bundled
> >> with it without (and with just to check) using the
> >> *commons-logging.properties* but didn't work that way. How can I
> implement
> >> this with or without the commons-logging.properties?
> >>
> >> I debugged the commons-logging source code and found in
> >> LogFactoryImpl.java it
> >> looks for a logging implementation (L843
> >> <https://github.com/apache/commons-logging/blob/LOGGING_
> >> 1_2/src/main/java/org/apache/commons/logging/impl/
> LogFactoryImpl.java#L843
> >>> )
> >> from a list (L162
> >> <https://github.com/apache/commons-logging/blob/LOGGING_
> >> 1_2/src/main/java/org/apache/commons/logging/impl/
> LogFactoryImpl.java#L162
> >>> ).
> >> Here since the Log4JLogger does not support Log4J2 it then sets to the
> next
> >> in line, that is JDK14Logger. Since the Log4J2 documentaiton says adding
> >> the bridge simply maps the logs from JCL to Log4J2, what role does the
> >> bridging api play here? I noticed the LogFactoryImpl.java and
> >> Log4JLog.java in
> >> it but how does commons-logging refer to these which are in a different
> >> package?
> >>
> >> stackoverflow question: Apache commons-logging bridge for log4j2
> >> <https://stackoverflow.com/questions/44839779/apache-
> >> commons-logging-bridge-for-log4j2>
> >>
> >
> >
> >
> > --
> > Matt Sicker <boards@gmail.com>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message