首页 > 解决方案 > 如何在 Logback 和 SLF4J 中使用自定义记录器

问题描述

我有一个非常标准的 Logback 实现的现有项目。

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

class SomeClass{

  Logger log = LoggerFactory.getLogger(getClass());

  void someMethod(){
     log.info("some log message");
  }
}

这在很多地方都使用过,而且在我没有来源的代码中。ch.qos.logback.classic.Logger用作实现。

我想使用我自己的 Logger 实现(我想扩展ch.qos.logback.classic.Logger,但它是最终的)并在不修改代码的情况下广泛使用它(我反正没有)。

我希望 in 的配置LoggerFactorylogback.xml可能的,但似乎并非如此。

我正在使用 Maven 工件

<dependency>
   <groupId>org.slf4j</groupId>
   <artifactId>slf4j-api</artifactId>
   <version>1.7.30</version>
</dependency>

<dependency>
   <groupId>ch.qos.logback</groupId>
   <artifactId>logback-classic</artifactId>
   <version>1.2.3</version>
</dependency>

我找不到直接的方法。我遇到了 XLogger 和 logback-ext,但似乎我需要修改所有工厂用法。

标签: javalogginglogbackslf4j

解决方案


推荐阅读