gpt4 book ai didi

logging - Dagger:注入(inject)名为Logger?

转载 作者:行者123 更新时间:2023-12-02 17:09:10 25 4
gpt4 key购买 nike

我有某种分析包装器,我必须为每个类创建一个实例,如下所示:

Analytics.create(MyClass.class)

这样构建的对象可以使用类名来编写更好的事件。

但是为每个类创建这样的对象是相当烦人的(并且容易出错),所以我考虑使用 Dagger(或 Dagger2)来实现这一点。

有没有办法可以将当前类注入(inject)到已注入(inject)的对象中?更好的是,注入(inject)命名记录器的好方法是什么?

最佳答案

loginject有一个dagger example以这种方式注入(inject)记录器。您可以看看他们是如何实现的,并在您的类(class)中使用相同的方法。

import static org.loginject.LogInject.*;
import static org.loginject.LogParameter.*;

@Provides
Logger provideLogger() {
return loginject(Logger::getLogger,currentClassName()).as(Logger.class);
}

PS:我有时会使用这样的模式:

public interface WithLogger {
default Logger logger() {
return LoggerFactory.getLogger(getClass());
}
}

关于logging - Dagger:注入(inject)名为Logger?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30420852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com