LoggingHandler
日志处理器LoggingHandler是使用Netty进行开发时的好帮手,它可以对入站\出站事件进行日志记录,从而方便我们进行问题排查。首先看类签名:
@Sharable
public class LoggingHandler extends ChannelDuplexHandler
注解Sharable说明LoggingHandler没有状态相关变量,所有Channel可以使用一个实例。继承自ChannelDuplexHandler表示对入站出站事件都进行日志记录。最佳实践:使用static修饰LoggingHandler实例,并在生产环境删除LoggingHandler。
该类的成员变量如下:
// 实际使用的日志处理,slf4j、log4j等
protected final InternalLogger logger;
// 日志框架使用的日志级别
protected final InternalLogLevel internalLevel;
// Netty使用的日志级别
private final LogLevel level;
// 默认级别为Debug
private static final LogLevel DEFAULT_LEVEL = LogLevel.DEBUG;
看完成员变量,在移目构造方法,LoggingHandler的构造方法较多,一个典型的如下:
public LoggingHandler(LogLevel level) {
if (level == null) {
throw new NullPointerExceptio