我是使用Apache公共日志记录完成日志记录的代码库上的唯一维护者。非静态日志可以证明吗?
所有课程包含这两个进口:
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
然后大量类包含这样的非静态日志实例:
/** The log. */
private Log log = LogFactory.getLog(Xyz.class);
可以这样是否合理?
我可以安全地将所有这些更改为静态调用吗?
编辑关于特殊情况下,它可以(显然)是很方便:“能非静态日志遍布代码库是合理的”我的问题真的是越来越
已经阅读文档,这是我不明白什么是错的声明登录场即使是在共享类加载器环境为静态的。除此之外,可以将LogFactory.getLog()类参数更改为String(Xyz.class.getName()),除此之外,从具有不同线程上下文类加载器的类访问记录器的危害在哪里?无论如何,日志方法应该是线程安全的,如果不是,你会遇到更大的问题。 任何人都可以提供一个明确的描述什么可以出错与静态日志引用? – 2011-01-27 14:51:07