每次都在一个类中写以下的代码,大家不觉得重复吗?有没有办法写在公共函数里呢?这样每次可以调用
private static final Logger LOG = LoggerFactory.getLogger(SqlUtils.class);
我本来是想在全局函数中写个公共LOG变量,获取调用该变量的Class,然后Class.forName(className)来初始化这个变量的。如下:
public static Logger LOG = LoggerFactory.getLogger(Class.forName(getLastClassName()));
然并卵。。。。
大家有没有其他的方法可以分享下,或许我本身的做法就有问题呢?
你的思路是正确的。我们项目开发时都是提供了一个LoggerFactory工厂类,getLogger方法返回一个log4j的Logger对象的。
代码就是这样的啊,你给出的第一行已经最简了。参数可以是this.class。不用写类名称的。