日志

1、日志级别

日志级别描述
OFF关闭:最高级别,不输出日志。
FATAL致命:用于输出可能会导致应用程序终止(崩溃)的错误。
ERROR错误:用于输出程序的错误(这些错误不会导致程序崩溃)。
WARN警告:用于输出警告信息,提示出可能出现的问题。
INFO信息:用于输出应用运行过程的详细信息。
DEBUG调试:用于输出更细致的对调试应用有用的信息。
TRACE跟踪:用于输出更细致的程序运行轨迹。
ALL所有:用于输出所有级别信息(包括自定义级别)。

2、日志格式变量介绍

  • %level:表示输出日志级别 ;

  • %date:表示日志发生时的时间,可缩写为 %d;
  • %logger:用于输出 Logger 的类路径,包名+类名,{n}限定了输出长度,如果输出长度不够,尽可能显示类名、压缩包名;
  • %thread:当前线程名;
  • %M:日志发生时的方法名字;
  • %L:日志调用所在代码行,线上运行时不建议使用此参数,因为获取代码行对性能有消耗;
  • %m:日志、消息;
  • %n:日志换行。

3、规范

3.1、不使用下面的拼接方式

log.info("username: " + username + " IP: "+ ip + "platform: " + platform);

当日志级别为 WARN 或 ERROR 时,该日志不打印,但仍然会进行字符串拼接,浪费资源。

应改为下面占位符方式

log.info("username: {} IP: {} platform: {}", username, ip, platform);

3.2、完整的堆栈信息

当发生异常时要将完整的堆栈信息打印出来,这样才能更准确的定位问题,而下面这种方式只会打印基本的错信息,比如只会告诉你发生了空指针,但你根本不知道发生在了哪里。

log.error("xxx错误:{}", e.getMessage());

正确的方式

log.error("xxx错误:{}", e.getMessage(), e);

3.3使用@slf4j

推荐使用 Lombok 框架的 @Slf4j 注解开启日志,减少样板代码的编写提升效率,还能避免书写错误导致的问题

 

未完待续。。

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值