我正在用Java编写Web应用程序并使用SLF4J进行日志记录.
我已经厌倦了为每个使用日志记录的类编写以下行:
private static final Logger logger = LoggerFactory.getLogger(ThisClassName.class);
Run Code Online (Sandbox Code Playgroud)
为了避免冗余代码,我在想类似的东西
interface Loggable {
Logger logger();
}
Run Code Online (Sandbox Code Playgroud)
并且每个类都可以实现这个接口然后像AOP这样的魔术插入LoggerFactory部件.
有没有人实现这个或知道如何实现这一目标?
谢谢!
Her*_*ans 12
你在用eclipse吗?如果是这样,为什么不使用带有关键字"logger"的代码模板和以下模板:
${:import(org.slf4j.LoggerFactory, org.slf4j.Logger)}
private final static Logger LOGGER = LoggerFactory.getLogger(${enclosing_type}.class);
Run Code Online (Sandbox Code Playgroud)
这样你只需键入"logger",点击shift+就space可以了.