`
DT1
  • 浏览: 67443 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

如何规划Logger的输出日志级别(待补充)

    博客分类:
  • Java
阅读更多
欢迎大家补充相关日志级别的输出规范与远景,谢谢。
一个项目的开展需要各种各样的规范,特别是对于刚入门的开发人员,更是需要许多规范对其的开发工作进行指导与保证.

最近就遇到了有关日志输出级别的规范的问题,开发人员需要明确什么时候使用哪个级别进行日志输出

目前关于debug与error的使用倒是非常分明,一个调试时没有出错用,一个是出错的时候使用.但是,什么消息是放在debug中进行输出,什么样的信息可能需要使用info.而什么样的错误信息使用error,而什么样的错误信息使用warn.

现在在此整理一部分:

ERROR
在拦截异常而不直接将该异常往外抛出时(不直接往外指对异常进行了改造或封装),需要使用error输出异常信息.而如果直接将异常往外抛,则不要使用error进行异常输出,由外部/调用方负责处理.

WARN
在运行过程时,如果遇到一些异常的数据或行为,而该异常或行为不直接影响系统的运行(直接影响:指该数据或行为出错,则应用无法正确运行,非直接影响:指数据或行为虽然有误,但应用可正确运行,不会由此产生错误数据),那么使用WARN进行错误提示.

范例场景:
非关键配置数据:在系统有默认配置的情况下导入新的配置时出错,则系统将使用旧的配置,此时使用warn进行错误提示,但允许应用继续运行.
logger.warn("非找到指定配置文件xxxx,将使用默认配置");


INFO
INFO是提示信息的意思,对于有部分日志,允许应用系统运行和维护人员在系统运行时进行查看的,可使用此级别进行输出.相对于DEBUG,INFO日志更针对的是上线后看到应用系统后台的人员,而不是开发人员所想看的程序运行时的细粗度信息

范例场景:
logger.info("应用系统开始输入数据");
logger.info("应用系统正在进行初始化");


DEBUG
DEBUG主要针对开发人员,比如检查输入参数值,根据系统底层运行状态.

范例场景:
logger.debug("输入参数,部门ID:{}", deptId);
logger.debug("删除指定用户角色配置信息,userId:{}, userRoleId:{}", new Object[]{userId, userRoleId});


分享到:
评论

相关推荐

    Burpsuite插件之logger++使用方法1

    Options设置允许用户根据个人需求调整Logger++的行为,例如日志输出格式、存储位置、记录级别等。合理配置选项可以优化日志记录的效率和实用性。 ### Logger++头疼疼 尽管Logger++功能强大,但在使用过程中可能会...

    python logging.info在终端没输出的解决

    这是因为在SLF4J中,`info()` 方法需要一个格式化字符串和对应的参数列表,以便正确地格式化和输出日志信息。 **解决SLF4J的参数问题:** 在SLF4J中,你可以通过在格式化字符串中使用花括号 `{}` 来插入参数。正确...

    java启动jar包将日志打印到文本的简单操作

    Loggers 组件用于设置日志级别,决定什么日志信息应该被输出、什么日志信息应该被忽略。Loggers 分类为 DEBUG、INFO、WARN、ERROR、FATAL 五个级别。一般情况下,子类中的级别设置会覆盖根 root 中的 logger,且一般...

    补充知识点实例(Log4net)实例

    配置Log4net主要涉及三个部分:定义Appender(日志输出目标)、设置Layout(日志格式)和指定Root Logger(日志级别)。配置文件通常放在项目的App.config或Web.config中。例如: ```xml `...

    Python logging日志模块 配置文件方式

    补充知识:为了更灵活地管理日志,可以根据日志级别将日志输出到不同的文件。例如,可以设置一个handler处理ERROR级别以上的日志,另一个handler处理INFO级别的日志,这样就可以将错误信息和常规运行信息分开存储,...

    log4j使用手册和API chm格式

    6. **Filter**:Filter可以进一步筛选日志信息,例如基于日志级别、特定关键字等条件决定是否输出。 7. **自定义Logger**:开发者可以创建自己的Logger实例,以控制特定类或模块的日志行为。 8. **Lookups**:Log4...

    Log4J用法,log4j操作手册

    除了根记录器,开发者还可以定义特定的记录器,通过指定名称创建,并关联特定的日志级别和输出源,实现更细粒度的日志管理: ``` log4j.logger.loggerName=[level],appenderName,appenderName,... ``` 记录器之间...

    java项目打包成可执行jar用log4j将日志写在jar所在目录操作

    开发者可以根据不同的需要,通过配置文件来设置日志级别、日志格式以及输出目的地。 具体到本篇内容中,要实现日志输出到jar所在目录的功能,我们需要在log4j的配置文件(通常名为log4j.properties)中进行相应的...

    USVLogQt.zip

    通过对日志级别进行精细化控制,开发者可以在需要的时候启用详细信息,而在生产环境中可以选择简化输出,以平衡性能和调试需求。 总结来说,"USVLogQt"是对log4qt的有益补充,它通过提供更丰富的日志信息,提升了...

    前端开源库-winston-format

    2. **`colorize`格式化器**: 这个格式化器可以将日志级别的名称转换为颜色,便于快速识别不同级别的日志。例如,错误级别可以用红色显示,信息级别用白色显示。 3. **`timestamp`格式化器**: 添加当前日期和时间到...

    Log4cxx windows 可直接编译工程

    Log4cxx提供了一套灵活的日志记录系统,支持多种输出方式,如文件、数据库、SMTP等,并且具有丰富的日志级别和布局选项,便于进行调试和性能监控。 `apr`(Apache Portable Runtime)是Apache项目的另一个组件,它...

    Ninject.Extensions.Logging:Ninject日志记录扩展

    1. **Log4Net**:Apache出品的一个广泛使用的日志记录库,提供了多种日志级别,灵活的配置,以及与多种存储和日志服务器的集成。 2. **Microsoft.Extensions.Logging**:是.NET Core的一部分,提供了一种通用的日志...

    java开发中常用的通用工具类.rar

    - `Logger`:记录不同级别的日志,如`info()`, `debug()`, `error()`等。 6. **Apache Commons IO**: 提供了大量与I/O相关的工具方法,如文件操作、流操作等。 - `FileUtils`:提供了文件读写、复制、删除等...

Global site tag (gtag.js) - Google Analytics