Java 为什么netty日志不显示正确的类和包信息

Java 为什么netty日志不显示正确的类和包信息,java,log4j,netty,slf4j,Java,Log4j,Netty,Slf4j,我在使用SLF4J和Log4j的项目中使用SLF4J。然而,具体的日志如下所示 2013-06-08 13:37:30,254 [Slf4JLogger.java:71][DEBUG]:Using SLF4J as the default logging framework 2013-06-08 13:37:30,261 [Slf4JLogger.java:71][DEBUG]:Platform: Windows 2013-06-08 13:37:30,270 [Slf4JLogger.java

我在使用SLF4J和Log4j的项目中使用SLF4J。然而,具体的日志如下所示

2013-06-08 13:37:30,254 [Slf4JLogger.java:71][DEBUG]:Using SLF4J as the default logging framework 2013-06-08 13:37:30,261 [Slf4JLogger.java:71][DEBUG]:Platform: Windows 2013-06-08 13:37:30,270 [Slf4JLogger.java:76][DEBUG]:Java version: 7 2013-06-08 13:37:30,273 [Slf4JLogger.java:76][DEBUG]:java.nio.ByteBuffer.cleaner: available 2013-06-08 13:37:30,274 [Slf4JLogger.java:76][DEBUG]:java.nio.Buffer.address: available 2013-06-08 13:37:30,274 [Slf4JLogger.java:76][DEBUG]:sun.misc.Unsafe.theUnsafe: available 2013-06-08 13:37:30,275 [Slf4JLogger.java:71][DEBUG]:sun.misc.Unsafe.copyMemory: available 2013-06-08 13:37:30,276 [Slf4JLogger.java:76][DEBUG]:java.nio.Bits.unaligned: true 2013-06-08 13:37:30,276 [Slf4JLogger.java:76][DEBUG]:sun.misc.Unsafe: available 2013-06-08 13:37:30,278 [Slf4JLogger.java:71][DEBUG]:Javassist: unavailable 2013-06-08 13:37:30254[Slf4JLogger.java:71][DEBUG]:使用SLF4J作为默认日志框架 2013-06-08 13:37:30261[Slf4JLogger.java:71][DEBUG]:平台:Windows 2013-06-08 13:37:30270[Slf4JLogger.java:76][DEBUG]:java版本:7 2013-06-08 13:37:30273[Slf4JLogger.java:76][DEBUG]:java.nio.ByteBuffer.cleaner:可用 2013-06-08 13:37:30274[Slf4JLogger.java:76][DEBUG]:java.nio.Buffer.address:可用 2013-06-08 13:37:30274[Slf4JLogger.java:76][DEBUG]:sun.misc.Unsafe.theUnsafe:可用 2013-06-08 13:37:30275[Slf4JLogger.java:71][DEBUG]:sun.misc.Unsafe.copyMemory:可用 2013-06-08 13:37:30276[Slf4JLogger.java:76][DEBUG]:java.nio.Bits.unaligned:true 2013-06-08 13:37:30276[Slf4JLogger.java:76][DEBUG]:sun.misc.Unsafe:可用 2013-06-08 13:37:30278[Slf4JLogger.java:71][DEBUG]:Javassist:不可用 它们不显示实际的netty类和包信息。我对应的Log4j模式是:

log4j.appender.toLogFile.layout=org.apache.log4j.PatternLayout log4j.appender.toLogFile.layout.ConversionPattern= %d [%F:%L][%p]:%m%n log4j.appender.toLogFile.layout=org.apache.log4j.patternalyout log4j.appender.toLogFile.layout.ConversionPattern=%d[%F:%L][%p]:%m%n
我在这里配置错了什么?

尝试在模式中使用
%c
而不是
%F
<代码>%F-输出发出日志记录请求的文件名,
%c
打印记录器名称。在Netty中,所有日志记录都要经过包装器类,在您的示例中是Slf4JLogger.class

您的模式应该如下所示:

log4j.appender.toLogFile.layout.ConversionPattern=%d[%c:%L][%p]:%m%n

因评论而编辑:

是,有一种只打印文件名的方法:

%c{1}
见文件:


尝试在模式中使用
%c
而不是
%F
<代码>%F-输出发出日志记录请求的文件名,
%c
打印记录器名称。在Netty中,所有日志记录都要经过包装器类,在您的示例中是Slf4JLogger.class

您的模式应该如下所示:

log4j.appender.toLogFile.layout.ConversionPattern=%d[%c:%L][%p]:%m%n

因评论而编辑:

是,有一种只打印文件名的方法:

%c{1}
见文件:


这是可行的,但是有没有办法只打印出文件名?现在它像这样打印整个包->io.netty.util.internal.PlatformDependent0:76,而我只需要platformdpeedent0:76,这是可行的,但是有没有办法只打印文件名?现在它像这样打印整个包->io.netty.util.internal.PlatformDependent0:76,而我只需要platformdpeedent0:76