在大型应用程序中,日志记录至关重要,但是当许多开发人员使用代码时,日志可能变得混乱。有人可能会写:在大型Java应用程序中标准化日志记录的方法
log.info("Loaded " + rowCount + " recodrs from the database.");
另一个可能做这样的事情:
log.debug("Records read={}", rowCount);
第三个开发者可能会认为这是正确的方法:
log.trace("Record(s) read: " + NumberFormat.getInstance().format(rowCount)
+ ", values: " + values);
这将导致难以日志阅读,而且更难解析。
您可以为开发人员提供哪些指导来制作有机会保持一致并且实际上可供其他人使用的日志?关于伐木的政策会有什么好处?如果是这样,它应包括什么?是否应该有一个API(在日志框架之上)来执行此策略?
我也很好奇如何使代码看起来相似,但更重要的问题是关于实际输出。
关于你的最后一点,真的建议你使用slf4j(Simple Log Facade 4 Java),它可以帮助处理这个问题,并允许在日志消息中插入字符串。由于slf4j只是一个外观,您可以轻松切换使用的日志框架实现。 – 2009-09-29 22:37:22
@DJ,同意你在slf4j上的观点。我想避免对日志框架过于放肆,因为只有问题中的第二个代码片段指示使用slf4j。 – 2009-09-29 23:07:48