`

debug 、info、waring、error、fatal

    博客分类:
  • java
阅读更多

源自:键盘动物_java java,java 日志级别的选择:Debug、Info、Warn、Error还是Fatal?

26人阅读 评论(0) 收藏 举报

在此描述您的新便笺。软件中总免不了要使用诸如 Log4net, Log4j, Tracer 等东东来写日志,不管用什么,这些东东大多是大同小异的,一般都提供了这样5个日志级别:
    × Debug
    × Info
    × Warn
    × Error
    × Fatal
一个等级比一个高,但是在具体开发中,关于应该如何选择适应的等级,却没有找到好的文章进行说明。记录一下自己的一些看法,以便日后使用吧。

=== Debug ===
这个级别最低的东东,一般的来说,在系统实际运行过程中,一般都是不输出的。

因此这个级别的信息,可以随意的使用,任何觉得有利于在调试时更详细的了解系统运行状态的东东,比如变量的值等等,都输出来看看也无妨。

当然,在每一个 Debug 调用之前,一定要加上 If 判断。

=== Info ===
这个应该用来反馈系统的当前状态给最终用户的,所以,在这里输出的信息,应该对最终用户具有实际意义,也就是最终用户要能够看得明白是什么意思才行。

从某种角度上说,Info 输出的信息可以看作是软件产品的一部分(就像那些交互界面上的文字一样),所以需要谨慎对待,不可随便。

=== Warn、Error、Fatal ===
警告、错误、严重错误,这三者应该都在系统运行时检测到了一个不正常的状态,他们之间的区别,要区分还真不是那么简单的事情。我大致是这样区分的:

所谓警告,应该是这个时候进行一些修复性的工作,应该还可以把系统恢复到正常状态中来,系统应该可以继续运行下去。

所谓错误,就是说可以进行一些修复性的工作,但无法确定系统会正常的工作下去,系统在以后的某个阶段,很可能会因为当前的这个问题,导致一个无法修复的错误(例如宕机),但也可能一直工作到停止也不出现严重问题。

所谓Fatal,那就是相当严重的了,可以肯定这种错误已经无法修复,并且如果系统继续运行下去的话,可以肯定必然会越来越乱。这时候采取的最好的措施不是试图将系统状态恢复到正常,而是尽可能地保留系统有效数据并停止运行。

也就是说,选择 Warn、Error、Fatal 中的具体哪一个,是根据当前的这个问题对以后可能产生的影响而定的,如果对以后基本没什么影响,则警告之,如果肯定是以后要出严重问题的了,则Fatal之,拿不准会怎么样,则 Error 之。

分享到:
评论

相关推荐

    Android_LogCat

    Android LogCat使用详解 ...D:debug过滤器,输出DEBUG、INFO、WARN、ERROR调试信息 I:info过滤器,输出INFO、WARN、ERROR调试信息 W:waring过滤器,输出WARN和ERROR调试信息 E:error过滤器,只输出ERROR调试信息

    解决报错libpng waring:iccp:known incorrect srgb profile

    解决报错libpng waring:iccp:known incorrect srgb profile,递归查找修改png图片为Qt适配使用的图片

    PHP的error_reporting错误级别变量对照表

    复制代码 代码如下:error_reporting( 7 ) = error_reporting( 1+2+4)= error_reporting(E_ERROR | E_WARING | E_PARSE) 现在,我将其总结如下: 数字 常量 说明 1 E_ERROR 致命错误,脚本执行中断,就是脚本中...

    python logging.docx

    默认级别是WARNING,表示...因此,默认情况下,DEBUG和INFO会被忽略,WARING、ERROR和CRITICAL会被记录。 有多种方法用来处理被跟踪的事件。最简单的方法就是把它们打印到终端控制台上。或者将它们写入一个磁盘文件内。

    VSColorOutput.vsix

    VS扩展插件,适用于2017以前的版本,对输出窗口中的字符串,配置颜色,比如info,waring,error等,通过不同的颜色输出,展示更加清晰

    二次Waring-Goldbach问题 (2007年)

    本文简述二次Waring-Goldbach问题的最新进展,具体内容包括:Waring-Goldbach问题,圆法,具有五个几乎相等变量的华罗庚定理,扩张主区间,四个素数平方之和的主区间,Dirichlet多项式的均值定理,四个素数平方之和...

    12864and18B20waring.zip_单片机 12864_四路温度

    此项目是四路温度,用DS18B20做感应,采用四路,用51单片机做内核,用LCD1602控制器显示,用三个按钮用来控制,调节四个温度的上限、和下限!

    控制台彩色文本输出ColorPrint.zip

    P(WARING, "Remote latest version %v %v latest version %v.\n", "0.10.28", "=", "0.1.0.26") // test tow cp := CP{Red, false, None, false, "="} P(NOTICE, "Remote latest version %v...

    eslint-plugin-only-warn:将错误降级为警告

    eslint-plugin-only-warn 将错误降级为警告 安装 您首先需要安装 : $ npm i eslint --save-dev 接下来,安装eslint-plugin-only-warn : $ npm install eslint-plugin-only-warn --save-dev ...

    rv1126_rk3568_dvp_bt656_bt1120.zip

    rv1126_rk3568 的_dvp_bt656_bt1120驱动

    应用移植WebSphere问题列表(经验是买不到的)

    后台日志信息waring: Cannot set header. Response already committed 删除websphere时,直接删除安装目录下的文件,重新安装websphere时会提示websphere已安装,是否安装副本。 WebSphere应用更新问题 配置oracle ...

    浅谈php错误提示及查错方法

    2.waring : 警告 3.error : 错误 PHP中都有哪几种查错方法? 1、语法检查–php配置文件里,把错误显示选项都打开或者代码开始部分,加error_reporting(E_ALL) 2、逻辑检查–设置断点,在断点前写日志 error_logs($...

    sql warning报错出错信息说明

    错误 严重度 描述(消息文本) 1 10 上次升级的版本日期: 10/11/90. 21 10 警告:严重错误 %1! 发生于 %2!。请记下错误和时间,然后与系统管理员联系。 102 15 在 ''%1!'' 附近有语法错误。...104 15 如果语句中包含 ...

    ISE中调用Modelsim

    ISE中调用Modelsim,

    ISE14.7license.rar

    ISE14.7的证书文件,具体安装过程见百度教程。Xilinx 已经停止对 ISE 软件的更新, 所以版本14.7为ISE开发环境的最高版本, 大家也再也不需要为软件的不断升级而疲于奔命了。

    实用电子电路精选实用电子电路精选,电子工程师的好帮手!

    实用电子电路精选,电子工程师的好帮手! 实用电子电路精选,电子工程师的好帮手!

    《华罗庚文集.数论卷II》作者: 华罗庚 著 ; 贾朝华 校 出版年: 2010年

    内容包括:三角和、数的分拆、素数定理、连分数、不定方程、二元二次型、模变换、整数矩阵、p-adic数、代数数沦导引、超越数、Waring问题与Prouhet-Tarry问题、数的几何等,书里引述厂许多我国古代数学家在数论上的...

    研究论文-QW-2型氮气泡沫驱起泡剂的研究及其性能评价.pdf

    为了选择一种适合BZ25-1油田氮气泡沫驱用的起泡剂,利用Waring Blender法分别从多种起泡剂体系和稳泡剂体系中筛选出起泡性能好的起泡剂QP-2和稳泡能力强的稳泡剂WP-3,采用复配增效原理,研制成QW-2型泡沫剂....

    deep-in-webpack:深入解析webpack原始码,看透webpack的本质-看

    深度浏览器 文件 webpack用到的三方库 装载机 加载器 HMR 钩子 编译器 初始化阶段 entryOption afterPlugins afterResolvers environment afterEnvironment beforeRun additionalPass run watchRun ...log

    Mac中文件权限查看和设置详解

    主要给大家介绍了关于Mac系统下文件权限查看和设置的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用Mac具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

Global site tag (gtag.js) - Google Analytics