它们是替代品,依赖关系,API还是彼此的实现?
他们为什么存在?
他们为什么存在?
解决方法
啊,用
Java记录框架.您的问题混合了两种不同类型的库:
> log4j和JDK日志记录是用于处理日志记录的库
> Commons Logging和SLF4J正在记录外观:你仍然需要一个真正的日志记录实现(比如log4j)
如果您正在编写将在其他人的系统中使用的库,那么您应该使用日志记录外观,因为您不知道他们将使用哪个日志框架.在这种情况下使用SLF4J(Commons Logging较旧并且存在一些类加载器问题).
如果您控制整个应用程序并可以指定要使用的日志框架,则可以自由选择自己的首选项.我的首选解决方案是(按优先顺序):
> Logback> log4j> JDK日志记录(在我看来,SUN的“未在这里发明”的案例)