贵阳微网站建设,wordpress弹窗公告,专业手机网站制作哪家好,网站开发制作合同日志级别 debug info warn eirror fatal 软件中总免不了要使用诸如 Log4net, Log4j, Tracer 等东东来写日志#xff0c;不管用什么#xff0c;这些东东大多是大同小异的#xff0c;一般都提供了这样5个日志级别#xff1a; Debug Info Warn Error Fatal一个等级比一个高不管用什么这些东东大多是大同小异的一般都提供了这样5个日志级别 × Debug × Info × Warn × Error × Fatal 一个等级比一个高但是在具体开发中关于应该如何选择适应的等级却没有找到好的文章进行说明。记录一下自己的一些看法以便日后使用吧。 Debug 这个级别最低的东东一般的来说在系统实际运行过程中一般都是不输出的。 因此这个级别的信息可以随意的使用任何觉得有利于在调试时更详细的了解系统运行状态的东东比如变量的值等等都输出来看看也无妨。 当然在每一个 Debug 调用之前一定要加上 If 判断。 Info 这个应该用来反馈系统的当前状态给最终用户的所以在这里输出的信息应该对最终用户具有实际意义也就是最终用户要能够看得明白是什么意思才行。 从某种角度上说Info 输出的信息可以看作是软件产品的一部分就像那些交互界面上的文字一样所以需要谨慎对待不可随便。 Warn、Error、Fatal 警告、错误、严重错误这三者应该都在系统运行时检测到了一个不正常的状态他们之间的区别要区分还真不是那么简单的事情。我大致是这样区分的 所谓警告应该是这个时候进行一些修复性的工作应该还可以把系统恢复到正常状态中来系统应该可以继续运行下去。 所谓错误就是说可以进行一些修复性的工作但无法确定系统会正常的工作下去系统在以后的某个阶段很可能会因为当前的这个问题导致一个无法修复的错误例如宕机但也可能一直工作到停止也不出现严重问题。 所谓Fatal那就是相当严重的了可以肯定这种错误已经无法修复并且如果系统继续运行下去的话可以肯定必然会越来越乱。这时候采取的最好的措施不是试图将系统状态恢复到正常而是尽可能地保留系统有效数据并停止运行。 也就是说选择 Warn、Error、Fatal 中的具体哪一个是根据当前的这个问题对以后可能产生的影响而定的如果对以后基本没什么影响则警告之如果肯定是以后要出严重问题的了则Fatal之拿不准会怎么样则 Error 之。 一些疑惑 不过在实际使用中基于上面的这种考虑也还是有一些具体问题。最常见的就是要在最终产品中将输出日志打开到那种级别才算好呢 例如在应用中有一个输出窗口一些系统状态信息将被输出到这个输出窗口中。因为 Info 的级别是如此之低所以为了让用户能够看到有效的输出信息必须将日志级别开放到 Info 级别。但是 Warn 的级别比 Info 要高所以用户不得不被迫看到一些 Warn 的信息。而我们其实已经假定Warn 信息其实并不影响系统的正常运行这一般只代表系统中存在一些还没有被发现或者修改的小 Bug。这些 Warn 信息会让最终用户困惑甚至恐慌系统发出警告了该怎么办 个人观点Info 的级别应该比 Warn 更高才对Warn 信息和 Debug 一样应该在产品测试和调试时使用而 Info、Erro 以及 Fatal 则在产品发布后需要继续使用。 目前我所采用的解决方法是对于 Warn、Error、Fatal 都添加一个相应的系统断言这样可以保证当发生这种问题时在调试阶段可以立即得到提示。在软件发布以后这些信息也能被记录到日志文件中去。