[ 
https://issues.apache.org/jira/browse/LOG4J2-2025?focusedWorklogId=193748&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-193748
 ]

ASF GitHub Bot logged work on LOG4J2-2025:
------------------------------------------

                Author: ASF GitHub Bot
            Created on: 03/Feb/19 04:50
            Start Date: 03/Feb/19 04:50
    Worklog Time Spent: 10m 
      Work Description: rgoers commented on pull request #213: LOG4J2-2025: JUL 
bridge handler (incl. unit test and site doc)
URL: https://github.com/apache/logging-log4j2/pull/213
 
 
   
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
-------------------

            Worklog Id:     (was: 193748)
            Time Spent: 10m
    Remaining Estimate: 0h

> Support Tomcat JULI's per-webapp JUL logging by implementing 
> java.util.logging.Handler
> --------------------------------------------------------------------------------------
>
>                 Key: LOG4J2-2025
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-2025
>             Project: Log4j 2
>          Issue Type: Improvement
>          Components: JUL adapter
>    Affects Versions: 2.8.2
>         Environment: Tomcat 8.5.20, Oracle Java 1.8.0_144
>            Reporter: Ibrahim M. Ghazal
>            Assignee: Ralph Goers
>            Priority: Minor
>             Fix For: 2.11.2
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> On most servlet containers, the only way to redirect JUL calls to Log4j is by 
> setting the 
> {{java.util.logging.manager=org.apache.logging.log4j.jul.LogManager}} system 
> property *globally*. This often breaks the native logging of the container, 
> and could also break other apps on the same container do not use Log4j 2. 
> This also requires changing the container's settings and cannot be expressed 
> in the app itself.
> Another approach (used by slf4j) is to implement 
> {{java.util.logging.Handler}} and then install this handler at the root 
> logger, either programmatically by calling 
> {{LogManager.getLogManager().getLogger("").addHandler(...)}} or by changing 
> logging.properties at the JRE level. This also breaks the container's native 
> logging and other apps, but in different ways than LogManager. I do not 
> advocate this approach, but it's useful to know about it as a background for 
> this feature request.
> (tl;dr: It's impossible to reliably redirect JUL from a webapp without 
> creating a mess).
> Thankfully, Tomcat has a solution for this: Tomcat 
> [JULI|https://tomcat.apache.org/tomcat-8.5-doc/logging.html] allows 
> per-webapp configuration by adding a {{WEB-INF/classes/logging.properties}} 
> file with {{handlers=some.custom.Handler}} inside it. This will redirect JUL 
> calls from this webapp (and this webapp only) to that handler, and that 
> handler then can redirect to Log4j.
> In short: Add a {{java.util.logging.Handler}} implementation that redirects 
> to Log4j so that webapps can use Tomcat's per-webapp configuration and avoid 
> the JUL mess.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to