我正在使用slf4j和logback进行日志记录,在我写的应用程序开始时

InternalLoggerFactory.setDefaultFactory(new Slf4JLoggerFactory());


然后我向管道添加了一个新的LoggingHandler(InternalLogLevel.DEBUG)实例。
不幸的是,这仍然没有记录任何内容,我正在调试中,调试级别是问题所在,只是跳过了记录本身。

我应该如何设置才能使用此LoggingHandler

最佳答案

我做了一个小例子,它确实起作用-我将其放在gist on github上。它使用logback作为slf4j的后端。应该注意的时刻是:


InternalLoggerFactory.setDefaultFactory(Slf4JLoggerFactory.INSTANCE);应该在程序的入口点执行。有时,这个“入口点”可能很难确定。
正确配置slf4j后端。由于slf4j只是一个包装器,它根本不处理配置-它特定于log4j,logback或java.util.logging(或某些自定义后端-我在自定义“ java commons logging”配置程序中进行了大量工作,因此确实可以使用任何东西)
即使没有LoggingHandler,您也应该从org.jboss.netty.channel.socket.nio.SelectorUtil(Netty版本3.6.0.Final)的静态初始化程序中看到两条调试消息:

11:54:00.959 [main] DEBUG o.j.n.c.socket.nio.SelectorUtil - Using select timeout of 500
11:54:00.962 [main] DEBUG o.j.n.c.socket.nio.SelectorUtil - Epoll-bug workaround enabled = false

关于netty - 如何配置netty logger工厂以查看LoggingHandler的输出?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9852473/

10-12 13:53