【发布时间】:2012-08-15 09:14:52
【问题描述】:
我不想使用这样的东西:
Logger.getLogger(MyClass.class).info("Info message");
每次我想记录一些东西。
我尝试实现一个日志服务,其方法如下:
public void info(final Object aMessage, final Object aSender);
这允许我根据发送者的类获取 Logger 实例,但它隐藏了日志源类的方法和行。
我知道 AOP 或 Slf4j 等替代方案。第一个不是我想要的,第二个引入了类似于第一行代码的东西:
LoggerFactory.getLogger(HelloWorld.class).info("Info message");
所以,我关心的不是隐藏 Log4j 依赖项,而是统一整个应用程序的日志调用,如下所示:
//loggingController instance was injected previously
loggingControler.info("Info message",this);
有什么方法可以实现吗?
【问题讨论】: