想要使用@Slf4j需要导入lombok依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.18</version>
<scope>provided</scope>
</dependency>
@Slf4j注解是log4j2依赖提供的,@Slf4j是用作日志输出的,一般会在项目每个类的开头加入上该注解。如果不想创建Logger对象,并且想用log.info( ) 打印日志,就可以使用该注解。
在类上添加了@Slf4j注解之后,就可以在代码中直接饮用log.info( ) 打印日志了。
注:log.info( ) 打印日志会直接将信息输出到控制台上。
代码示例:
@Slf4j
public class NettyServerHandler extends ChannelInboundHandlerAdapter {
......
public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
//将信息写入日志中
log.info("加载客户端报文......");
log.info("【" + ctx.channel().id() + "】" + " :" + msg);
/**
* 下面可以解析数据,保存数据,生成返回报文,将需要返回报文写入write函数
*
*/
//System.out.println("接收数据------------");
//ByteBuf是Netty提供的,不是NIO的ByteBuffer
ByteBuf buf = (ByteBuf) msg;
//将接收的ByteBuf字节数组按指定解码格式解码转换为String
System.out.println("客户端发送的消息:"+buf.toString(CharsetUtil.UTF_8));
System.out.println("客户端地址:"+ctx.channel().remoteAddress());
}
......
}