[logback-dev] [JIRA] Resolved: (LBCORE-51) LoggerFactory doesnt respect custom ContextSelector

Ceki Gulcu (JIRA) noreply-jira at qos.ch
Sun Dec 28 21:04:38 CET 2008


     [ http://jira.qos.ch/browse/LBCORE-51?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ceki Gulcu resolved LBCORE-51.
------------------------------

    Resolution: Fixed

In a nutshell, I consider this issue a duplicate of SLF4J bug 113. See also [1]. In each call to getLogger() method, org.slf4j.LoggerContext will now retrieve the ILoggerFactory afresh from StaticLoggerBinder. This change enables context selectors of native implementations, e.g logback, to work correctly.

Static logger references in shared classes relate to a different problem. If you need static references problem to be dealt with, then please file a *new* jira issue.

[1] http://bugzilla.slf4j.org/show_bug.cgi?id=113

> LoggerFactory doesnt respect custom ContextSelector
> ---------------------------------------------------
>
>                 Key: LBCORE-51
>                 URL: http://jira.qos.ch/browse/LBCORE-51
>             Project: logback-core
>          Issue Type: Bug
>         Environment: Windows XP64, Java 6, Red5 v0.7.1-dev, Logback 0.9.9, Slf4j 1.5.0
>            Reporter: Paul Gregoire
>            Assignee: Logback dev list
>
> I have found that calling LoggerFactory.getLogger(xxxx) does not make calls to my custom context selector. I expect to see a call to getLoggerContext() but I dont. Do I need to create my own LoggerFactory impl to get my web context apps and red5 apps to use their own Loggers?
> Main Red5 trunk (dev)
> http://svn1.cvsdude.com/osflash/red5/java/server/trunk/
> My logger implementations
> http://svn1.cvsdude.com/osflash/red5/java/server/trunk/src/org/red5/logging/
> Example JSP I used to test the log context selection
> <%@page import="org.slf4j.Logger,org.slf4j.LoggerFactory,org.slf4j.impl.StaticLoggerBinder,ch.qos.logback.classic.LoggerContext,org.red5.logging.LoggingContextSelector"%>
> <html>
> <body>
> <%
> //
> Logger log = LoggerFactory.getLogger("TestJsp");
> log.info("This is a test log entry from a web context");
> //
> LoggingContextSelector selector = (LoggingContextSelector) StaticLoggerBinder.SINGLETON.getContextSelector();		
> LoggerContext ctx = selector.getLoggerContext(mywebappcontextname);
> Logger log2 = ctx.getLogger("TestJsp");
> log2.info("This is a test log entry from a web context attempt 2");
> %>
> </body>
> </html>
> The first log goes to the "default" logger context and the second goes to the correct one. I also implemented the Servlet filter and context listener for this tested context.
> Anything I can do to help, please let me know.. I am getting extremely frustrated with this logging stuff and I'm sure our users are as well.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.qos.ch/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the logback-dev mailing list