`

如何规划Logger的输出日志级别

阅读更多

 

欢迎大家补充相关日志级别的输出规范与远景,谢谢。

一个项目的开展需要各种各样的规范,特别是对于刚入门的开发人员,更是需要许多规范对其的开发工作进行指导与保证.

 

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

 

目前关于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});

 

文章出处:飞诺网(www.firnow.com):http://dev.firnow.com/course/3_program/rg/20100721/473437.html

分享到:
评论

相关推荐

    java swing用Logger输出错误日志.docx

    使用`Logger`时,只需调用其`log()`方法,传入相应的日志级别和消息: ```java logger.log(Level.SEVERE, "发生严重错误"); logger.log(Level.INFO, "程序运行正常"); ``` 总之,Java Swing应用可以通过`java.util...

    C# Logger C# 的日志工具

    使用C# Logger时,开发者首先需要在项目中引用相应的库或者NuGet包,然后配置日志级别和输出目的地。日志级别可以根据需要动态调整,以控制在不同阶段记录哪些类型的信息。此外,还可以通过配置文件(如app.config或...

    labview操作logger,日志记录

    3. **日志级别**:类似于许多高级编程语言,LabVIEW的日志系统也可以设定不同的日志级别,如DEBUG、INFO、WARNING、ERROR等。这允许你根据需要控制日志的详细程度,例如在调试时使用DEBUG级别,而在生产环境中使用...

    logger记录日志

    压缩包中的`SingingEels_CustomConfigurationSection`可能是一个特定项目或应用的日志配置文件,它可能定义了自定义的日志行为,比如日志级别、输出格式、过滤器规则等。在.NET环境中,这可能涉及到使用`System....

    JSLogger日志记录组件

    1. **多级别日志记录**:JSLogger支持多种日志级别,包括debug、info、warn和error,便于区分不同严重程度的问题。 2. **时间戳记录**:每条日志都带有精确的时间戳,方便分析日志的顺序和时间间隔。 3. **自定义...

    fastify框架的logger日志工具

    在Fastify中使用`fastify-logger`,开发者可以轻松地定制日志级别、格式和输出方式,以满足不同项目的需求。 1. **安装与配置** 首先,你需要通过npm来安装`fastify-logger`: ``` npm install --save fastify-...

    Android-logger日志打印工具

    首先,`logger`工具相较于Android自带的`Log`类,提供了更加丰富的日志级别,包括`VERBOSE`、`DEBUG`、`INFO`、`WARN`、`ERROR`和`ASSERT`,这些级别可以帮助开发者更好地控制日志输出的详细程度。在开发阶段,可以...

    Logger日志工具使用

    总的来说,"Logger日志工具使用"涵盖了选择合适的日志框架、配置日志级别、设置输出目标、自定义格式和扩展功能等多个方面。通过学习和实践,开发者可以提高问题解决的效率,确保应用程序的稳定性和可靠性。

    动态设置log4j的日志级别

    总结来说,动态设置Log4j的日志级别是提高应用灵活性的重要手段,可以根据运行时的需求调整日志输出的详细程度,同时避免不必要的重启操作。通过配置文件、API、JMX以及Web界面等多种方式,开发者可以方便地实现这一...

    logger日志

    日志记录器(Logger)是日志处理的核心组件。log4j具有5种正常级别(Level)。...比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来,也是说大于等于的级别的日志才输出。

    运行时改变log4j日志级别

    日志级别是Log4j中控制日志输出的关键,它定义了不同严重程度的消息应该被记录还是忽略。Log4j支持以下级别,按严重性递增排序:DEBUG、INFO、WARN、ERROR、FATAL和OFF。默认情况下,只有INFO及以上的级别会被记录...

    log4j-控制指定类,包的日志级别:log4j-demo.zip

    `log4j.logger.com.example.MyClass`则指定了`com.example.MyClass`这个类的日志级别为WARN,这意味着只有WARN、ERROR和FATAL级别的日志会被输出。 如果要控制整个包,比如`com.example`下的所有类,配置如下: ``...

    Android 开源日志库 Logger 使用教程

    虽然`Logger`提供了许多便利,但在生产环境中,应合理使用日志级别,避免过多的日志输出影响性能。例如,通常只在DEBUG模式下使用VERBOSE级别日志。 9. **集成到测试框架** `LoggerTest`可能是指用于测试`Logger`...

    Go-logger-Go简约的日志库

    `logger`库的初始化十分简单,通常只需调用一个初始化函数,指定输出目的地(如标准输出、文件等)和日志级别。例如,我们可以将日志输出到标准输出,并设置日志级别为`INFO`: ```go import "github....

    Go-go-logger一个简单的Go日志管理器

    1. 日志级别管理:根据应用需求,合理设置日志级别,避免无关信息的输出。 2. 错误处理:当写入日志时遇到问题(如磁盘满、网络故障等),需要有适当的错误处理机制。 3. 性能优化:大量日志可能会对系统性能产生...

    Logger以及glog 两个日志库源码。

    Logger库可能包含各种级别的日志输出,如DEBUG、INFO、WARNING、ERROR等,便于开发人员根据需要调整日志级别,控制输出的信息量。通过源码,你可以了解到其内部实现,包括如何设置日志格式,如何过滤不同级别的信息...

    优雅的控制台日志Logger.zip

    3. **自定义格式化**:开发者可以定制日志输出的格式,包括时间戳、日志级别标志、模块名等,使得日志更符合个人或团队的规范。 4. **装饰器(Decorators)**:Signale 提供了一系列预定义的装饰器,如 @debug、@...

    开源日志库Logger使用Demo

    Logger库的主要类是`Logger`,它提供了多种打印日志的方法,如`d()`, `i()`, `w()`, `e()` 和 `v()`,分别对应DEBUG, INFO, WARN, ERROR 和 VERBOSE级别。这些方法接收字符串参数,可以直接打印文本,也可以与`...

    简单的logger类

    `logging.FileHandler`用于创建一个向指定文件(log_file参数)写入日志的处理器,而`logging.Formatter`则定义了日志条目的格式,包括时间戳、logger名称、日志级别和消息本身。 `log`方法是一个方便的接口,允许...

    log4j的日志级别的调整

    本篇我们将深入探讨如何调整log4j的日志级别,以便更好地管理和控制应用程序的日志输出。 首先,我们要理解日志级别在log4j中的含义。Log4j提供了多个预定义的日志级别,按照严重性从低到高排序,包括TRACE、DEBUG...

Global site tag (gtag.js) - Google Analytics