怎么打日志

简介: 怎么打日志

什么时候该打日志


  • 当你必须通过Debug才能定位问题的时候,说明应该打日志,好的系统,一般通过日志就能定位问题。
  • else if, switch 分支时,首行最后打印日志,以确定程序进入哪个分支。
  • 一般来说,日志可以看到整个业务流程,否则日志就是残缺的

栗子:

public void execute(String[] arguments) {
    String logInfo = "class" + this.hashCode();
    logger.info(logInfo + " start..."); //业务开始
    try { 
    /*业务逻辑实现…*/
    /*业务逻辑实现…*/
    } catch (Exception e) {
        logger.error(logInfo + " execute error", e); //业务异常结束
    }
    logger.info(logInfo + " end."); //业务正常结束
}



  • 异常捕获是 需要打印日志,比如数据库查询,插入等操作是要打日志的,否则不知道哪个SQL出现异常了
  • 重要信息,比如说某个重要参数不能为空,此时判断是否为空,为空的记录到日志中。

栗子:

try { 
    ...
} catch (Exception e) {
   logger.error("", e);
}


打印日志方式


  • 使用正确的日志级别打印日志,只对严重的逻辑异常使用error,在程序的关键节点输出 info 日志,接口函数可打印 debug 日志,生产环境上不能使用 debug 日志,否则日志量巨大。


栗子:

对于 debug 日志级别日志,必须判断 debug 级别后才能打印日志。


if (logger.isDebugEnabled()) {
    logger.debug("Processing trade with id: " +id + " symbol: " + symbol);
}

 

  • 在接口调用时,方便问题查询,可以采用 AOP 模式来打印函数接口日志
  • 线程的已经存在的无用日志,会累计大类的无用数据,可以适当提高日志级别来避免占用磁盘。



相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1月前
|
C++
C++11日志之spdlog
C++11日志之spdlog
26 1
|
4月前
|
运维 监控 数据管理
日志服务
日志服务监控审计在现代企业数据管理中扮演着越来越重要的角色。为了满足企业对数据监控审计的需求,日志服务提供了服务日志功能,支持记录Project内的用户操作日志等多种日志数据,并提供多种分析维度的仪表盘。通过这些功能,企业可以实时掌握日志服务的使用状况,提高运维效率。
44 2
|
12月前
|
Python
一日一技:loguru 如何把不同的日志写入不同的文件中
一日一技:loguru 如何把不同的日志写入不同的文件中
454 0
|
存储 监控 容器
3.2 日志
在项目开发中,需要经常使用日志存储网站的云心信息,.net core使用日志非常简单。
|
22天前
|
存储 SQL 监控
日志服务汇总数据指南
本文为您介绍基于SLS推出的ScheduledSQL功能,对历史数据进行汇总压缩,降低使用存储成本。
日志服务汇总数据指南
|
Shell Linux 文件存储
查看日志
查看日志
75 0
日志
日志
82 0
|
弹性计算 JavaScript 前端开发
学生日志
自我介绍:本人为大专驻马店职业技术学院代码学生,通过老师讲解以及自己了解,知道了“飞天加速计划·高校学生在家实践”活动,知道了优秀的阿里云免费活动
|
XML 监控 Java
你用了这么长时间的日志,你确定你了解它?
之前星球的好友就在说,关于日志的问题,我们是怎么来进行使用和分析的,因为如果日志使用的好,那么我们在程序出现BUG的时候,能够快速的定位,然后找到原因,并且解决,如果使用不好,那么你将无从下手。下面我就就来说说日志的那点事!