日志
发布日期:2022-07-08 02:55:52 浏览次数:44 分类:技术文章

本文共 926 字,大约阅读时间需要 3 分钟。

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 注解开启日志,减少样板代码的编写提升效率,还能避免书写错误导致的问题

 

未完待续。。

 

 

转载地址:https://blog.csdn.net/weixin_43163261/article/details/107915517 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:日志
下一篇:日志

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月13日 03时03分48秒