小编Pet*_*ter的帖子

log4j:如何在超类中为方法启用子类中的日志记录

我在我的超类的方法中有一个日志记录语句.我想只在为SubClassA的Object调用该方法时才启用此语句.

public class SuperClass
{
private static Logger               logger  = Logger.getLogger(SuperClass.class);
public void test()
{
    logger.info("test...");
}
}
Run Code Online (Sandbox Code Playgroud)

...

public class SubClassA extends SuperClass
{
private static Logger               logger  = Logger.getLogger(SubClassA.class);
}
Run Code Online (Sandbox Code Playgroud)

...

public class SubClassB extends SuperClass
{
private static Logger               logger  = Logger.getLogger(SubClassB.class);
public static void main(String[] p_Args)
{
    SubClassA subClassA = new SubClassA();
    SubClassB subClassB = new SubClassB();
    subClassA.test();
    subClassB.test();
}
}
Run Code Online (Sandbox Code Playgroud)

如何仅为SubclassA启用test()中的日志记录?

log4j.logger.SuperClass = info //为两个子类启用了test()方法

log4j.logger.SubClassA = info //对test()方法没有任何作用

java inheritance log4j

3
推荐指数
1
解决办法
3900
查看次数

标签 统计

inheritance ×1

java ×1

log4j ×1