Logger日志框架使用学习

Logger日志框架使用学习

1.前言

最近也开始注重开发的规范,以前开发项目的时候很少会去使用日志框架记录一些东西,部门大佬也提了希望我们着手开始尊重开发规范,所以先学习下日志框架的用法以及应用场景

2.Logger源码

我们在代码中经常能够看到以下代码,该方法的作用就是返回与参数传递类对应的logger对象。这边主要是有个LoggerFactory对我们的日志进行管理,然后从factory中取出对应的Logger

private static Logger logger = LoggerFactory.getLogger(xxx.class);

然后我们平常使用日志框架的时候用法也有很多,比如logger.info(),logger.error()等等,让我们看看logger中有哪几种的日志记录方式。

通过源码可以发现,logger的日志记录方式主要有5种,我们正常开发一般只用到debug以上的级别,下面就详细介绍下5种级别的区别。

  1. trace:顾名思义,该级别就是对程序推进的一个追踪。目前有在Spring的源码中有看到相关的用法,example:只是简单的打印了纸,感觉像System.out.Println()的用法

    log.trace("onCacheRefreshed called with count: " + newCount);
    
  2. debug:该级别就是平常我们开发代码过程中用的比较多的一个了。主要打印我们在开发环境中需要查看,而正式服上并不需要记录的内容。

  3. info:这个用途比较广泛,比如用户登录了,可以用该级别对用于登录进行记录

  4. warn:主要记录写不是错误信息,但是予以相关提示这样

  5. error:抛出异常的时候,可以使用该级别进行错误记录

public interface Logger {
    /**
     * 用于检索root logger的名称
     */
    final public String ROOT_LOGGER_NAME = "ROOT";
    
    public String getName();
    
    public boolean isTraceEnabled();
    
    public void trace(String msg);
    
    public boolean isDebugEnabled();
    
    public void debug(String msg);
    
    public boolean isInfoEnabled();
    
    public void info(String msg);
    
    public boolean isWarnEnabled();
    
    public void warn(String msg);
    
    public boolean isErrorEnabled();
    
    public void error(String msg);
}

3.使用场景

一般总是听人说要记录日志日志,但是我们什么时候该使用日志呢,这边根据个人理解进行了整理。

  1. 发生程序运行错误时,controller接收参数时进行非空校验,或者其他业务认证进行返回时,可以加入logger.error("用户未登录xxx")
  2. 在执行线程任务时,为了监控线程任务的执行情况以及其他等等,需要使用日志对每个线程任务进行记录
  3. 接口访问调用时,在微服务时代每个服务之间相互访问,所以就有必要进行日志记录调用情况。
  4. 计时统计,平常我们可能会在代码中记录下某个算法的执行时间,这种也可以使用日志记录

说到底日志就是我们想要了解程序运行情况而存在的工具,避开其他条条框框的约定,对于有必要了解项目运行情况的方法中加日志就好了。一般我们做的web项目主要日志都记录在controller层以及service层,一是controller接口需要被其他微服务调用所以需要进行记录,二是我们controller可能会调用多个service中的方法,所以在service中也能进行记录帮助我们快速定位问题。剩下的比如项目中的定时任务,还有跟其他客户端联调推送数据,或者开放接口给第三方调用,都需要进行记录。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值