001@Slf4j的使用及作用

想要使用@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());
    }
    ......
}

该注解的作用:

**
该注解的作用主要是操作在idea中的控制台中打印的日志信息。该注解相当于代替了以下的代码:
private final Logger logger = LoggerFactory.getLogger(当前类名.class);
具体如下:
在这里插入图片描述
而private final Logger logger = LoggerFactory.getLogger(当前类名.class);该行代码的作用是什么?

@Slf4j的注解相当于private final Logger logger = LoggerFactory.getLogger(当前类名.class);

则代码的作用是一致的:就是使用指定类初始化日志对象,在日志输出的时候,可以打印出日志信息所在的类。

日志文件等级
在这里插入图片描述

通常使用到的为上图几种等级,他们分别代表的是:

trace:很低的日志级别,一般不会使用(当使用该日志级别时,会将其以上级别一同打印)

debug:指出细粒度信息事件对调试应用程序是非常有帮助的,主要用于开发过程中打印一些运行信息。(当使用该日志级别时,会将其以上级别一同打印)

info:消息在粗粒度级别上突出强调应用程序的运行过程。打印一些你感兴趣或者重要的信息,这个可以用于生产程序运行中的一些重要信息,但是不能滥用瞎用,避免打印过多的日志。(当使用该日志级别时,会将其以上级别一同打印)

warn:表明会出现的潜在错误的情形,有些信息不是错误信息,但是也要给程序猿一些提示。(当使用该日志级别时,会将其以上级别一同打印)

error:指出虽然发生错误事件,但是仍然不影响系统的继续运行,打印错误和异常信息,如果不想输出特别多的日志信息,则可以考虑使用该级别。(当使用该日志级别时,会将其以上级别一同打印)

fatal:指出每个严重的错误事件,将会导致应用程序的退出,这个级别比较高。重大错误,这种错误可以直接停止程序。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值