在企业级的开发过程中,我们不可避免地会碰到很多问题;假如您希望在开发过程的后期能够有效地捕捉 bug,那就需要一种有效的日志策略。但是在一个企业的应用程序中要想实现有效地记录日志,需要进行一番规划,并设计一些准则。在本文中,顾问 Charles Chan 将向您介绍一些最好的实践,从而帮助您从项目一开始就编写有用的日志代码。
假如您是一名开发人员,那您很可能就已经具有这种经验:您已经开发了一些代码以及一些测试用例。应用程序经过了严格的 QA 测试,您确信代码可以完全适合业务的需求。然而,在将应用程序最终交付终端用户的手里时,却会出现一些预想不到的问题。假如没有适当的日志消息,可能需要花费几天的时间来诊断这些问题。不幸的是,大部分项目对于日志都没有一个清楚的策略。假如没有这种策略,系统产生的日志消息就有可能无益于问题的分析和解决。在本文中,我们将讨论企业应用程序日志的各个方面的问题。您将看到一个 java™ 平台上日志 API 的概述,学习一些最好的编写日志代码的实践,并了解假如需要在产品环境中对具体日志重新进行排序,应该如何处理。
Log4J 和 Java Logging API 都采用了类似的设计和使用模式(如图 1 和清单 1 所示)。消息首先被创建,然后传递给一个具有特定优先权的日志对象。这些消息的目的和格式是由输出处理程序及其布局所决定。
清单 1. 日志对象的实例化和使用
import org.apache.log4j.Logger;public class MyClass { /* * OBTain a logger for a message category. In this case, the message category is * the fully qualified class name of MyClass. */ PRivate static final Logger logger = Logger.getLogger(MyClass.class.getName()); ... public void myMethod() { ... if (logger.isDebugEnabled()) { logger.debug("Executing with parameters: " + param1 + ":" + param2); } }}