3

我想知道为什么没有

logger.log(level, ...) 

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

4

2 回答 2

2

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

话虽如此,slf4j 使用logger.level()代替.log(,)表示法- logger。调试()记录器。信息()

这也基于在底层记录器配置中定义的受支持的级别,例如 logger.properties。

于 2013-01-28T10:54:02.063 回答
0

这只是猜测,但我认为log(Level...类型方法不在接口中,原因有以下几种:

  • 减少接口中的方法数量
  • 避免需要在界面中定义数字日志级别
  • 没有数字级别,只有枚举值,这种方法的优势不清楚
  • 通过完全没有日志级别类,尽可能独立于底层日志系统的日志级别
  • 当应用程序需要动态日志级别时,替代方案可能是Marker concept
于 2013-01-28T11:12:02.620 回答