首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

WebSphere Application Server 日志记录开发人员指南(1)

WebSphere Application Server 日志记录开发人员指南(1)

好的程序会在自身情况不对的时候让您知道作为开发人员,我们了解的第一件事是将消息打印到控制台。后来,我们了解到了此类打印语句在调试代码时的宝贵价值,特别是在找到喜欢的开发工作台之前更是如此。获得了解代码流和确定变量值变化的能力后,我们就能够充分理解清楚的调试语句在快速确定代码中的问题方面的价值。对每个方法进行了调试后,我们将从中剔除打印语句,从而更容易将重点放在代码的下一部分内容上。一切就绪后,在知道代码可供正常使用后,我们很高兴地删除了最后的打印语句。
对于任何重要的程序,诊断代码在单元测试之外都具有很大的价值。随后在某些情况下,可以在不用诊断代码辅助就能诊断问题,但使用代码和跟踪语句也能极大地缩短诊断时间。日志记录代码是第一手故障诊断信息中非常重要的部分,通常能够减少重现问题来进行诊断的需求。IBM WebSphere Application Server 提供了非常有价值的日志和跟踪工具,可供在您自己的应用程序中使用。作为开发人员,您要将有效的日志记录和跟踪代码写入到将与 WebSphere Application Server 一起运行的应用程序,本文将说明所需了解的信息。
日志记录和跟踪基础知识日志记录和跟踪之间的区别何在?
  • 日志记录通常用于希望在日志文件中记录的重要事件。日志记录用于指示状态的重要更改(例如,服务启动或停止时)、指示警告(例如,当所写入的磁盘空间不足时)或指示错误(例如,当代码由于预期服务不可用而无法再继续)。日志记录通常是始终启用,因此日志记录代码必须体积相当小,通常为您应该注意的重要事项。另一个重要的特征是,日志记录对应用程序管理员非常有用。由于所记录的消息旨在供管理员使用,因此应用服务器所记录的消息将转换为服务器进程的其余部分所配置的语言并写入日志(应用程序还可以利用消息本地化的优势,但这通常并不是必需的)。创建日志消息时必须谨慎,要确保任何使用此代码的人都能够容易地了解其含义。因此,通常添加日志记录语句所需的时间比添加跟踪语句的时间更长。
  • 跟踪通常用于记录在调试代码问题时可能有用的任何信息。跟踪通常用于指示调用了哪些方法、向方法传入了哪些数据(或从方法返回了什么值)以及从对代码边界之外的其他方法的调用返回了什么数据。跟踪事件体积可能比较大,因此只有在诊断问题时启用。由于跟踪事件的内容极为详细,而且是技术信息,因此经常只对编写应用程序的人有价值。打开跟踪的情况下,应该能够了解在代码中可能出现的任何问题。如果跟踪检测未成功完成,则可能需要用户遇到问题时将代码的调试版本(包含更多的跟踪检测)发送给他们;这可能不可行(或者不希望这样做),通常最好通过在向最终用户提供代码前谨慎处理跟踪来加以避免。
哪些内容对日志和跟踪重要?
在日志和跟踪文件中包含正确的内容,可帮助更快地诊断问题。日志和跟踪内容至少应该明确以下信息:
  • 指示消息生成时间的准确时间戳。
  • 作为消息源的类名称和方法名称。
  • 消息发出者的线程 ID。
  • 消息反映的事件的严重级。
  • 标识负责发出消息的记录器的名称,用于设置日志/跟踪级别,以控制启用或禁用哪些消息。
  • 明确的消息。
哪些功能对日志记录和跟踪运行时对象重要?
除了在日志和跟踪事件中包含正确的内容外,日志记录和跟踪运行时对象还必须满足以下要求:
  • 支持对启用或禁用哪些消息的足够细粒度的控制。
  • 支持在不需要服务器重启的情况下控制日志和跟踪级别。
  • 提供自动归档或截断日志和跟踪的方法(不用服务器重启),从而防止文件过大。
  • 提供远程监视日志的方法。
返回列表