为什么slf4j Logger没有日志方法?

时间:2013-01-28 10:48:37

标签: java log4j slf4j

我想知道为什么没有

logger.log(level, ...) 

在slf4j中。有确切的原因吗​​?当从log4j迁移到slf4j并使用logback时,这让我很头疼!

2 个答案:

答案 0 :(得分:2)

slj4j只是围绕实际Logger实现的包装器,以便提供更改底层实现的灵活性。

话虽如此,而是 .log(,)表示法,slf4j使用 logger.level(),如 - logger。 debug()记录器。 info()

并且也基于您的基础记录器配置中定义的受支持的LEVEL,例如logger.properties。

答案 1 :(得分:0)

这只是推测,但我认为log(Level...类型方法不在界面中,因为这些原因的某些组合:

  • 保持界面中的方法数量
  • 避免在界面中定义数字日志级别
  • 没有数字级别,只是枚举值,这种方法的优点不明确
  • 通过不具备日志级别类
  • ,从基础日志系统的日志级别尽可能独立
  • 当应用程序需要动态日志级别时,备选方案可能是Marker concept