Re: [jetty-user] Usage of JUL-to-SLF4J
Joakim Erdfelt <[email protected]> Thu, 2 Aug 2012 08:52:25 -0700
| Newsgroups | gmane.comp.java.jetty.support |
|---|---|
| Message-ID | <CAG4zZZC-hXuXxoSCxSAF6Hc08GwJcAMU5BnV5sf=yi-W9kQw9g@mail.gmail.com> |
--f46d042f9f92dc47a004c64a65f2 Content-Type: text/plain; charset=ISO-8859-1 Just remembered a 3rd option as well. One outlined here ... https://github.com/jetty-project/jetty-and-jul-example How this works is ... 1. Add etc/jetty-jul.xml<https://github.com/jetty-project/jetty-and-jul-example/blob/master/jetty-distro-with-custom-jul/src/main/config/etc/jetty-jul.xml>to the start.ini initialization 2. It initializes a JavaUtilLoggingBean<https://github.com/jetty-project/jetty-and-jul-example/blob/master/jetty-jul-custom-handler/src/main/java/org/eclipse/jetty/examples/logging/JavaUtilLoggingBean.java>that is added to the Server instance 3. The JavaUtilLoggingBean<https://github.com/jetty-project/jetty-and-jul-example/blob/master/jetty-jul-custom-handler/src/main/java/org/eclipse/jetty/examples/logging/JavaUtilLoggingBean.java> adds the appropriate JUL Handlers to the active LogManager on start of the Server. -- Joakim Erdfelt <[email protected]> www.webtide.com Developer advice, services and support from the Jetty & CometD experts. On Thu, Aug 2, 2012 at 8:30 AM, Gaim <[email protected]> wrote: > Hi, > > I would like to jetty log using SLF4J. It works for direct logging through > SLF4J and for logging using apache logging commons but it doesn't work for > java.util.logging. I am starting jetty from maven plugin and I use the > plugin version 6.1.26. I have jul-to-slf4j in dependencies in a version > 1.6.6. The JUL logging properties contains only definition of > org.slf4j.bridge.SLF4JBridgeHandler to be a handler. > > My problem is, that the Jetty still says, that > > Can't load log handler "org.slf4j.bridge.SLF4JBridgeHandler" > java.lang.ClassNotFoundException: org.slf4j.bridge.SLF4JBridgeHandler > java.lang.ClassNotFoundException: org.slf4j.bridge.SLF4JBridgeHandler > at java.net.URLClassLoader$1.run(URLClassLoader.java:200) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:188) > at java.lang.ClassLoader.loadClass(ClassLoader.java:307) > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) > at java.lang.ClassLoader.loadClass(ClassLoader.java:252) > at java.util.logging.LogManager$7.run(LogManager.java:910) > at java.security.AccessController.doPrivileged(Native Method) > at > java.util.logging.LogManager.initializeGlobalHandlers(LogManager.java:903) > at java.util.logging.LogManager.access$900(LogManager.java:129) > at > java.util.logging.LogManager$RootLogger.getHandlers(LogManager.java:1010) > at java.util.logging.Logger.log(Logger.java:454) > at java.util.logging.Logger.doLog(Logger.java:480) > at java.util.logging.Logger.logp(Logger.java:596) > at org.zkoss.util.logging.Log.log(Log.java:379) > at org.zkoss.util.logging.Log.debug(Log.java:711) > at org.zkoss.zk.ui.http.WebManager.<init>(WebManager.java:108) > at > > org.zkoss.zk.ui.http.HttpSessionListener23.contextInitialized(HttpSessionListener23.java:140) > at > > org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:549) > at org.mortbay.jetty.servlet.Context.startContext(Context.java:136) > at > > org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282) > at > org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518) > at > org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499) > at > > org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:115) > at > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) > at > > org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152) > at > > org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156) > at > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) > at > > org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152) > at > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) > at > org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) > at org.mortbay.jetty.Server.doStart(Server.java:224) > at > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) > at > > org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:132) > at > > org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:454) > at > > org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:396) > at > > org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:210) > at > org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184) > at > > org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) > at > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694) > at > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569) > at > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539) > at > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) > at > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348) > at > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180) > at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328) > at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138) > at org.apache.maven.cli.MavenCli.main(MavenCli.java:362) > at > org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) > at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) > at > org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) > at org.codehaus.classworlds.Launcher.main(Launcher.java:375) > > > > > > > and I don't know why, because all necessary slf4j modules are defined in > dependencies. > > I would like ask for any help that bring me to working bridged logging from > JUL to SLF4J. It seems to be a classloader problem. > > Thanks a lot, > Karel > > > > -- > View this message in context: > http://jetty.4.n6.nabble.com/Usage-of-JUL-to-SLF4J-tp4958903.html > Sent from the Jetty Support mailing list archive at Nabble.com. > > --------------------------------------------------------------------- > To unsubscribe from this list, please visit: > > http://xircles.codehaus.org/manage_email > > > --f46d042f9f92dc47a004c64a65f2 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Just remembered a 3rd option as well.<div><br></div><div>One outlined here = ...=A0<a href=3D"https://github.com/jetty-project/jetty-and-jul-example">ht= tps://github.com/jetty-project/jetty-and-jul-example</a></div><div><br></di= v> <div>How this works is ...</div><div><ol><li>Add <a href=3D"https://github.= com/jetty-project/jetty-and-jul-example/blob/master/jetty-distro-with-custo= m-jul/src/main/config/etc/jetty-jul.xml">etc/jetty-jul.xml</a> to the start= .ini initialization</li> <li>It initializes a <a href=3D"https://github.com/jetty-project/jetty-and-= jul-example/blob/master/jetty-jul-custom-handler/src/main/java/org/eclipse/= jetty/examples/logging/JavaUtilLoggingBean.java">JavaUtilLoggingBean</a> th= at is added to the Server instance</li> <li>The=A0<a href=3D"https://github.com/jetty-project/jetty-and-jul-example= /blob/master/jetty-jul-custom-handler/src/main/java/org/eclipse/jetty/examp= les/logging/JavaUtilLoggingBean.java">JavaUtilLoggingBean</a>=A0adds the ap= propriate JUL Handlers to the active LogManager on start of the Server.</li= > </ol></div><div><br clear=3D"all"><div>--</div><div>Joakim Erdfelt <<a h= ref=3D"mailto:[email protected]" target=3D"_blank">[email protected]</a>&= gt;</div><div><a href=3D"http://www.webtide.com/" target=3D"_blank">www.web= tide.com</a></div> <div><span>Developer advice, services and support</span><br><span>from the = Jetty & CometD experts.</span></div><br> <br><br><div class=3D"gmail_quote">On Thu, Aug 2, 2012 at 8:30 AM, Gaim <sp= an dir=3D"ltr"><<a href=3D"mailto:[email protected]" target=3D"_blan= k">[email protected]</a>></span> wrote:<br><blockquote class=3D"gmai= l_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left= :1ex"> Hi,<br> <br> I would like to jetty log using SLF4J. It works for direct logging through<= br> SLF4J and for logging using apache logging commons but it doesn't work = for<br> java.util.logging. I am starting jetty from maven plugin and I use the<br> plugin version 6.1.26. I have jul-to-slf4j in dependencies in a version<br> 1.6.6. The JUL logging properties contains only definition of<br> org.slf4j.bridge.SLF4JBridgeHandler to be a handler.<br> <br> My problem is, that the Jetty still says, that<br> <br> Can't load log handler "org.slf4j.bridge.SLF4JBridgeHandler"<= br> java.lang.ClassNotFoundException: org.slf4j.bridge.SLF4JBridgeHandler<br> java.lang.ClassNotFoundException: org.slf4j.bridge.SLF4JBridgeHandler<br> =A0 =A0 =A0 =A0 at java.net.URLClassLoader$1.run(URLClassLoader.java:200)<b= r> =A0 =A0 =A0 =A0 at java.security.AccessController.doPrivileged(Native Metho= d)<br> =A0 =A0 =A0 =A0 at java.net.URLClassLoader.findClass(URLClassLoader.java:18= 8)<br> =A0 =A0 =A0 =A0 at java.lang.ClassLoader.loadClass(ClassLoader.java:307)<br= > =A0 =A0 =A0 =A0 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java= :301)<br> =A0 =A0 =A0 =A0 at java.lang.ClassLoader.loadClass(ClassLoader.java:252)<br= > =A0 =A0 =A0 =A0 at java.util.logging.LogManager$7.run(LogManager.java:910)<= br> =A0 =A0 =A0 =A0 at java.security.AccessController.doPrivileged(Native Metho= d)<br> =A0 =A0 =A0 =A0 at<br> java.util.logging.LogManager.initializeGlobalHandlers(LogManager.java:903)<= br> =A0 =A0 =A0 =A0 at java.util.logging.LogManager.access$900(LogManager.java:= 129)<br> =A0 =A0 =A0 =A0 at<br> java.util.logging.LogManager$RootLogger.getHandlers(LogManager.java:1010)<b= r> =A0 =A0 =A0 =A0 at java.util.logging.Logger.log(Logger.java:454)<br> =A0 =A0 =A0 =A0 at java.util.logging.Logger.doLog(Logger.java:480)<br> =A0 =A0 =A0 =A0 at java.util.logging.Logger.logp(Logger.java:596)<br> =A0 =A0 =A0 =A0 at org.zkoss.util.logging.Log.log(Log.java:379)<br> =A0 =A0 =A0 =A0 at org.zkoss.util.logging.Log.debug(Log.java:711)<br> =A0 =A0 =A0 =A0 at org.zkoss.zk.ui.http.WebManager.<init>(WebManager.= java:108)<br> =A0 =A0 =A0 =A0 at<br> org.zkoss.zk.ui.http.HttpSessionListener23.contextInitialized(HttpSessionLi= stener23.java:140)<br> =A0 =A0 =A0 =A0 at<br> org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:5= 49)<br> =A0 =A0 =A0 =A0 at org.mortbay.jetty.servlet.Context.startContext(Context.j= ava:136)<br> =A0 =A0 =A0 =A0 at<br> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282= )<br> =A0 =A0 =A0 =A0 at<br> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)<b= r> =A0 =A0 =A0 =A0 at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppCon= text.java:499)<br> =A0 =A0 =A0 =A0 at<br> org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebA= ppContext.java:115)<br> =A0 =A0 =A0 =A0 at org.mortbay.component.AbstractLifeCycle.start(AbstractLi= feCycle.java:50)<br> =A0 =A0 =A0 =A0 at<br> org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:= 152)<br> =A0 =A0 =A0 =A0 at<br> org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCo= llection.java:156)<br> =A0 =A0 =A0 =A0 at org.mortbay.component.AbstractLifeCycle.start(AbstractLi= feCycle.java:50)<br> =A0 =A0 =A0 =A0 at<br> org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:= 152)<br> =A0 =A0 =A0 =A0 at org.mortbay.component.AbstractLifeCycle.start(AbstractLi= feCycle.java:50)<br> =A0 =A0 =A0 =A0 at<br> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)<b= r> =A0 =A0 =A0 =A0 at org.mortbay.jetty.Server.doStart(Server.java:224)<br> =A0 =A0 =A0 =A0 at org.mortbay.component.AbstractLifeCycle.start(AbstractLi= feCycle.java:50)<br> =A0 =A0 =A0 =A0 at<br> org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:1= 32)<br> =A0 =A0 =A0 =A0 at<br> org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.jav= a:454)<br> =A0 =A0 =A0 =A0 at<br> org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:3= 96)<br> =A0 =A0 =A0 =A0 at<br> org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.= java:210)<br> =A0 =A0 =A0 =A0 at org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6Run= Mojo.java:184)<br> =A0 =A0 =A0 =A0 at<br> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManag= er.java:490)<br> =A0 =A0 =A0 =A0 at<br> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLif= ecycleExecutor.java:694)<br> =A0 =A0 =A0 =A0 at<br> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(D= efaultLifecycleExecutor.java:569)<br> =A0 =A0 =A0 =A0 at<br> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLife= cycleExecutor.java:539)<br> =A0 =A0 =A0 =A0 at<br> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFai= lures(DefaultLifecycleExecutor.java:387)<br> =A0 =A0 =A0 =A0 at<br> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(Def= aultLifecycleExecutor.java:348)<br> =A0 =A0 =A0 =A0 at<br> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycl= eExecutor.java:180)<br> =A0 =A0 =A0 =A0 at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.jav= a:328)<br> =A0 =A0 =A0 =A0 at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:= 138)<br> =A0 =A0 =A0 =A0 at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)<br= > =A0 =A0 =A0 =A0 at org.apache.maven.cli.compat.CompatibleMain.main(Compatib= leMain.java:60)<br> =A0 =A0 =A0 =A0 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Meth= od)<br> =A0 =A0 =A0 =A0 at<br> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:3= 9)<br> =A0 =A0 =A0 =A0 at<br> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp= l.java:25)<br> =A0 =A0 =A0 =A0 at java.lang.reflect.Method.invoke(Method.java:597)<br> =A0 =A0 =A0 =A0 at org.codehaus.classworlds.Launcher.launchEnhanced(Launche= r.java:315)<br> =A0 =A0 =A0 =A0 at org.codehaus.classworlds.Launcher.launch(Launcher.java:2= 55)<br> =A0 =A0 =A0 =A0 at org.codehaus.classworlds.Launcher.mainWithExitCode(Launc= her.java:430)<br> =A0 =A0 =A0 =A0 at org.codehaus.classworlds.Launcher.main(Launcher.java:375= )<br> <br> <br> <br> <br> <br> <br> and I don't know why, because all necessary slf4j modules are defined i= n<br> dependencies.<br> <br> I would like ask for any help that bring me to working bridged logging from= <br> JUL to SLF4J. It seems to be a classloader problem.<br> <br> Thanks a lot,<br> Karel<br> <br> <br> <br> --<br> View this message in context: <a href=3D"http://jetty.4.n6.nabble.com/Usage= -of-JUL-to-SLF4J-tp4958903.html" target=3D"_blank">http://jetty.4.n6.nabble= .com/Usage-of-JUL-to-SLF4J-tp4958903.html</a><br> Sent from the Jetty Support mailing list archive at Nabble.com.<br> <br> ---------------------------------------------------------------------<br> To unsubscribe from this list, please visit:<br> <br> =A0 =A0 <a href=3D"http://xircles.codehaus.org/manage_email" target=3D"_bla= nk">http://xircles.codehaus.org/manage_email</a><br> <br> <br> </blockquote></div><br></div> --f46d042f9f92dc47a004c64a65f2--