2
我知道一個log4j記錄器實例應該是通過LogManager.getLogger()創建的,它執行一些反射魔術來檢測調用類,因此對於特定日誌級別配置。 但是,如果我不喜歡手動創建記錄器並希望像使用類的所有其他依賴項一樣使用彈簧進行注入?當這樣做的時候,調用類當然不是那種依賴於記錄器的類,它是彈簧(某些工廠)。因此,檢測類名稱不再起作用。 問題甚至可以更簡單:log4j2類名稱檢測是否可以與IoC協同工作?Log4j2 LogManager.getLogger()with Spring
public class SomeClassWithDependencies {
private final DependencyOne dependencyOne;
private final Logger logger;
@Inject
public SomeClassWithDependencies(
DependencyOne dependencyOne,
Logger logger) { // <- this is created by spring and operates on the name of some spring factory instead of SomeClassWithDependencies
this.dependencyOne = dependencyOne;
this.logger = logger;
}
}