linux搭建个人网站,深圳专业做网站排名哪家好,网站怎么发布到服务器,互联网建筑设计平台核心API最佳实践——JDK日志分级 时间:2005-10-29 08:00 来源:网管之家bitsCN.com 字体:[大 中 小]日志#xff08;Log#xff09;是什么#xff1f;字典对其的解释是对某种机器工作情况或某项任务进展情况的记载。对于应用系统来说#xff0c;日志就应该记录应…核心API最佳实践——JDK日志分级
时间:2005-10-29 08:00 来源:网管之家bitsCN.com 字体:[大 中 小]日志Log是什么字典对其的解释是对某种机器工作情况或某项任务进展情况的记载。对于应用系统来说日志就应该记录应用系统的运行状况了。 是否需要记录日志这个问题无需回答这是毋庸置疑的--当然要记了。 剩下的问题就是应该如何记录日志才能确保日志具有高可用性和低耗性了。日志信息过于简化乃至于没有日志则用户无法找到解决问题所需的信息进而妨碍问题的解决然而日志信息过于详细不仅会降低系统的性能而且会使真正有用的信息淹没在文字的海洋中。 为此JDK给出了建议的日志分级标准。将不同的信息根据其重要性分级。与此同时可以根据实际需要在JRE中设置需要记录的日志级别--级别高于此值的日志才被记录。依照JDK提供的标准java.util.logging.Level将日志划分为OFF、SEVERE、WARNING、INFO、CONFIG、FINE、FINER、FINEST、ALL等从高到低九个级别。他们都分别对应着唯一的整数值即OFFInteger.MAX_VALUE、SEVERE1000、WARNING900、INFO800、CONFIG700、FINE500、FINER400、FINEST300、ALLInteger.MIN_VALUE。通过对java.util.logging.Level的泛化扩展开发人员可以在JDK提供的标准基础之上定义自己的日志分级标准。 在这九个级别中OFF、SEVERE、WARNING、INFO、CONFIG、ALL比较容易理解。 OFF级别主要用于JRE日志输出控制表示不输出任何信息。 SEVERE严重级别描述组织程序正常运行的重大事件。这些事件的表述必须能够让最终用户和系统管理员清晰地了解到底发生了什么事情。 WARNING警告级别描述了最终用户或系统管理员维护时比较感兴趣的事件或指示系统存在潜在问题的事件。这些事件都需要特别提醒最终用户或系统管理员注意。 INFO信息级别主要用于描述输出到控制台或其替代品的具有相当程度重大意义的事件。譬如系统的心跳信息以及其他系统希望告知最终用户或系统管理员的信息等。 CONFIG配置级别主要用于描述可以辅助调试解决问题的静态配置信息。譬如CPU类型、操作系统类型、内存容量、系统语言等等。 ALL级别也是主要用于JRE日志输出控制表示输出所有日志信息。 FINE、FINER、FINEST等三个级别被用于描述不同程度的跟踪信息。这三个级别被sun分别翻译为良好较好和最好但是笔者认为翻译为略细较细最细更合适。这三个级别比较容易使人难于区分。到底什么样的信息应该以哪个级别输出呢 一般说来FINE级别用于输出开发人员广泛关注的信息。包括小的可恢复的故障潜在的性能问题、数据源连接不足、服务超时等。 FINER级别描述比FINE级别更详细的信息。包括进入/返回方法调用抛出了一个异常等信息。 FINEST级别描述更详细的调试信息。包括开发人员在方法内为了调试方便而输出的调试信息即某些日志分级系统中定义的DEBUG级别信息。 将方法调用/返回信息作为一个单独的级别处理是一个明智的选择。在解决系统运行问题时通常根据方法调用/返回过程就能大致确定问题所在。 此日志分级标准被广泛地应用于中小型系统中。更详细的信息可以参考JDKAPI文档的java.util.logging部分。