【问题标题】:How to configure log4j.properties file to print parent class of the class from where the logging has been made?如何配置 log4j.properties 文件以打印进行日志记录的类的父类?
【发布时间】:2019-09-03 07:54:49
【问题描述】:

我试图检查各种文档,但所有内容都在讲述当前类,而不是父类。

假设我有以下代码。如何记录以下内容:
2019-09-03 |信息 | A.a -> B.b |我是B

class A {
 void a() {
   B.b();
  }
}
class B {
 void b() {
  log.info("I am B");
  }
}

【问题讨论】:

    标签: java logging configuration


    【解决方案1】:

    当您使用 Log4J 或 SLF4J 定义记录器时,您首先要这样声明。

    Logger logger = Logger.getLogger("Current class Name")
    or
    Logger logger = Logger.getLoggerFactory("Current class Name");
    

    这意味着你声明了日志,它将打印在同一个类而不是继承的类中。 如果要在父类中打印,则在父类方法中声明它。 这里的主要目标是跟踪问题所在。

    【讨论】:

    • 也许我不够清楚。我是从 log4j 配置的角度而不是编码的角度说话。我们有不同的模式选项,如 %L、%C 等,我们在属性文件或 xml 文件中配置它们以显示行号、调用者类等。我想知道,如果这种类型的选项存在在此处打印父类/方法的名称,例如一个/一个。
    • 我认为这种配置不可用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-18
    • 1970-01-01
    • 2014-07-27
    • 2010-09-13
    • 1970-01-01
    • 2013-11-28
    • 2011-02-09
    相关资源
    最近更新 更多