`

日志常见等级在实际中的使用说明

阅读更多

      在common-log包中共提供了FatalErrorWarnInfoDebugTrace六种等级,但是为了简单一般都只使用ErrorWarnInfoDebugTrace五种等级,下面说明实际中的使用情况。

 

  • Trace

      指程序流程记录日志,LOG的最低层次,这种等级一般不推荐常规使用,常规的调试信息推荐使用Debug,输出的信息只有研发人员需要关注,用于最细致的程序逻辑跟踪,一般在频繁的循环中需要记录程序的流程或状态时使用,比如监测调度框架的跟踪记录,常规情况下禁止使用此级别。

 

  • Debug

      指调试日志,主要用来详细跟踪程序的执行逻辑以及部分状态信息,常规使用,这些日志一般只需要开发人员、测试人员和实施人员关注,信息尽量详细,可以提供当前程序段相关的数据,便于问题分析。通常情况下发布版本的Log配置文件是不允许Debug之下(包括)的等级信息输出的,一般在以下情况使用:

  1. 程序流程或逻辑分支跟踪;
  2. 数据或程序状态跟踪;
  3. 程序调用时参数传递不合法等日志(一般也要抛出非法参数异常);
  4. 某些会抛出异常但在业务上不算为错误的地方,比如在探测监测某些资源时,可能会抛出异常,但是不算为错误,因为是在探测。

 

  • Info

      指信息类的日志,这些信息需要提供给用户、普通技术支持人员查看,信息要求直观易读,能望文生义,一般在以下情况使用:

  1. 系统运行跟踪日志,比如用户登陆和重要操作等记录;
  2. 重要程序模块的调用,比如加载某模块,使用某功能等;
  3. 资源使用记录,比如调用某文件或打印机等;

 

  • Warn

      指警告日志,一般指程序运行出现了某些异常,这些异常不会影响业务功能的正常使用,但需要引起注意,针对所有人,更倾向内部技术人员,信息里可以提供当前程序段里一些关键的数据,根据情况可以打印程序中的Exception堆栈,便于问题分析,但不影响程序业务功能执行,一般在以下情况下使用:

  1. 程序运行出现异常,但这些异常不影响业务正常使用;
  2. 某些应该存在的资源不存在了,但是不影响程序功能的正常运行。

 

  • Error

      指错误日志,指程序运行出现了某些错误,这些错误会导致某些业务功能的中断,信息关注者为所有人,信息里可以提供当前程序段里一些关键但非保密的数据,打印程序中Exception堆栈,一般在以下情况使用:

  1. 资源使用错误,导致业务功能无法完成;
  2. 调用API的方法时有异常抛出,而且异常无法处理(也不能抛出)并影响业务功能时。

 

  • Fatal
  1. 严重错误信息:针对所有人。用于说明程序执行错误,并由于此错误,程序不得不异常中止;
  2. 一般情况下不推荐使用此级别。

 

示例

  •  Debug:面向技术
  1. 程序执行逻辑,分支:logger.debug("设备SNMP访问失败,将进入NetBios采集");
  2. 执行结果统计、状态信息:logger.debug("线程池创建成功,初始化线程数:" + pool.getPoolSize());

 

  • Info:面向业务
  1. 业务模块运行日志:logger.info("性能快照模块已启动");
  2. 业务运行结果:logger.info("本轮性能快照共采集" + total + "个结点");

 

  • Warn:有错误,但不影响功能
  1. 打开配置文件时,发现配置文件不存在或错误,所以建立一个默认配置文件项:logger.warn("配置文件conf/jdbc.properties不存在,将建立并使用默认配置");

 

  • Error:有错误,将影响功能
  1.  程序异常退出:logger.error("无法连接数据库,程序即将退出");
  2. 执行交换机绑定,由于某种原因,绑定错误,logger.error("设备SNMP访问超时,无法执行绑定");
分享到:
评论

相关推荐

    这是一个写日志类,可用于实际项目开发应用。

    在实际的软件开发中,日志记录扮演着至关重要的角色,因为它可以帮助开发者追踪程序运行状态,定位和解决问题。本文将详细解析标题为“这是一个写日志类,可用于实际项目开发应用。”的压缩包文件中涉及的关键知识点...

    动态设置log4j的日志级别

    2. **使用API**:Log4j提供API可以直接在代码中设置日志级别。例如,你可以这样动态改变日志级别: ```java Logger logger = Logger.getLogger("com.example.myapp"); logger.setLevel(Level.WARN); ``` 这种...

    linux系统中c++写日志文件功能分享

    在实际编程中,使用这样的日志系统可以帮助开发者快速定位问题,尤其是当程序在生产环境中出现异常时。通过控制日志级别,可以决定在日志文件中记录哪些级别的信息,从而平衡调试信息的详细程度和磁盘空间的使用。...

    C++ 多线程日志记录

    在C++编程中,多线程日志记录是一种常见的需求,特别是在高并发和实时性要求高的系统中。本文将深入探讨如何使用C++实现多线程日志记录,包括涉及的关键概念、技术以及如何通过提供的文件`log.cpp`、`log.h`和`...

    Log4j日志管理系统简单使用说明

    ### Log4j日志管理系统简单使用说明 #### 一、Log4j简介 Log4j是Apache的一个开源项目,用于实现日志记录功能。它通过提供灵活的日志配置选项,帮助开发者轻松地在应用程序中集成日志记录功能。Log4j的核心由三个...

    13.在 Mvc 中简单使用日志组件.pdf

    在MVC控制器中使用日志组件的常用方法是通过依赖注入的方式。具体来说,有两种常见的注入方式: - 注入ILoggerFactory ```csharp public class HomeController : Controller { private readonly ILogger _logger;...

    服务应用中 不同日志管理和记录

    在IT行业中,日志管理是服务应用开发中的关键环节,它不仅用于问题排查,还能帮助优化系统性能,提供运营数据。本主题将深入探讨不同日志管理和记录的策略与技术。 首先,我们要理解日志的基本概念。日志是应用程序...

    超好用的C# Log日志控件

    在C#中,常见的日志级别包括DEBUG、INFO、WARN、ERROR和FATAL,每个级别对应不同的严重程度,便于在不同场景下进行筛选和分析。这个控件可能已经预设了这些级别的支持,并允许用户根据需求调整。 其次,DLL库的引用...

    resin中关于日志的配置

    - 在生产环境中,通常设置日志级别为`warn`或`error`,以减少磁盘占用和网络传输开销。 通过以上知识点,我们可以有效地配置和管理Resin服务器的日志系统,从而提高开发效率,保证系统的稳定运行。理解并实践这些...

    Linux中常见的日志文件和命令.rar

    6. `journalctl`:在使用Systemd的系统中,`journalctl`是用于查看和管理系统日志的强大工具,可以按时间顺序、服务、级别等多种方式过滤日志。 7. `logrotate`:用于定期轮换日志文件,防止单个日志文件过大,同时...

    C++日志库-线程安全

    在日志库中,线程安全通常涉及到对日志文件的并发写入和日志级别的同步控制。 在`Log.cpp`和`Log.h`这两个文件中,我们可能看到以下关键组件的实现: 1. **日志级别**:常见的日志级别包括DEBUG、INFO、WARNING、...

    日志系统常见面试题总结

    本文将深入探讨日志系统常见面试题,帮助求职者掌握关键知识点,以便在面试中脱颖而出。 1. **日志的分类与级别** - **系统日志**:记录操作系统级别的事件,如系统启动、用户登录、硬件故障等。 - **应用日志**...

    Go-log一个简单快速的Go日志库

    2. **日志级别控制**:通过设置不同的日志级别,可以在运行时选择输出哪些级别的日志,比如在生产环境中通常只需要输出警告及以上级别的日志,而在开发和测试阶段则可能需要启用调试级别日志。 3. **格式化输出**:...

    版本管理工具与日志工具——日志工具练习

    通过这个练习,你将能够熟练掌握日志工具的使用,了解它们在实际开发中的重要性,以及如何结合版本管理工具(如Git)进行协同开发和问题追踪。这不仅提升你的编程技能,也有助于你在团队中的协作效率和问题解决能力...

    flask项目配置log日志打印.zip

    7. **使用日志记录**:现在可以在代码中使用`logger`对象来记录日志。 ```python logger.info('Application started.') logger.debug('Debugging info...') logger.warning('A warning occurred.') ``` 在`flask_...

    MFC日志写入与读取

    虽然MFC提供了基本的日志功能,但在实际项目中,我们可能需要更强大和灵活的日志系统。像`log4cpp`、`spdlog`这样的第三方库提供了丰富的功能,如日志过滤、多种输出方式、日志归档等,可以大大提高日志管理的效率和...

    C#日志封装类,队列方式处理

    队列处理日志的一个常见做法是创建一个后台线程,负责从队列中取出日志条目并实际写入存储介质。 至于“并发处理”,在多线程环境中,多个线程可能同时尝试写入日志。如果没有适当的同步机制,可能会导致数据竞争和...

    日志dll(读取配置文件判断是否写日志)

    在实际应用中,可能会使用到的各种日志级别包括DEBUG、INFO、WARNING、ERROR和FATAL,这些级别通常对应不同的严重程度,便于开发人员快速定位问题。例如,DEBUG级别用于调试信息,INFO用于一般运行信息,WARNING表示...

    c++ 打印log 日志到文件

    在IT行业中,日志记录是程序调试、性能分析和故障排查的重要工具。C++作为一种强大的系统编程语言,虽然没有...在实际应用中,还可以考虑添加日志等级过滤、异步写入、网络日志发送等功能,进一步增强日志系统的能力。

    基于g3log日志管理

    为了让熟悉ROS的开发者能无缝过渡到g3log,这个系统可能已经实现了类似的接口,使得开发者可以在g3log中使用类似于ROS的日志宏。 在实际应用中,g3log的灵活性体现在以下几个方面: 1. **日志级别**:g3log支持...

Global site tag (gtag.js) - Google Analytics