我决定将Log4J日志框架用于新的Java项目.我想知道我应该使用什么策略来创建/管理Logger实例以及为什么?
每个类的一个Logger实例,例如
class Foo {
private static final Logger log = Logger.getLogger(Foo.class);
}
Run Code Online (Sandbox Code Playgroud)注意:在这些文章中已经在某种程度上考虑了这个问题:
在日志记录系统中,每个日志输出都由辅助类完成,并使用此方法
public void debug(String message) {
Logger logger = Logger.getLogger(getCallingClass());
logger.debug(message);
}
...
public Class getCallingClass() {
/*
Calls Thread.getStackTrace() and back traces until the class on the stack trace
!= this.getClass().
*/
return classFound;
}
Run Code Online (Sandbox Code Playgroud)
它的运行成本有多高,是否会有显着的性能提升?