登录 Scala 应用程序的好方法是什么?符合语言哲学的东西,不会使代码混乱,维护成本低且不引人注目。这是一个基本要求列表:
我知道我可以使用现有的 Java 日志记录解决方案,但它们至少在上述两个方面都失败了,即混乱和配置。
感谢您的回复。
Scala 的大多数日志库都是围绕 Java 日志框架(slf4j、log4j 等)的一些包装器,但截至 2015 年 3 月,幸存的日志库都是 slf4j。这些日志库提供了某种log可以调用的对象info(...),debug(...)等等。我不是 slf4j 的忠实粉丝,但它现在似乎是主要的日志框架。这是SLF4J的描述:
log
info(...)
debug(...)
Java 或 (SLF4J) 的简单日志外观作为各种日志框架的简单外观或抽象,例如 java.util.logging、log4j 和 logback,允许最终用户在部署时插入所需的日志框架。
在部署时更改底层日志库的能力为整个 slf4j 记录器系列带来了独特的特性,您需要注意:
在大型项目中,如果每个人都使用 slf4j,则能够控制传递依赖项的日志记录行为实际上会很方便。
Scala Logging由 Heiko Seeberger 编写,作为他的slf4s的继承者。它使用宏将调用扩展为 if 表达式,以避免潜在的昂贵日志调用。
Scala Logging 是一个方便且高性能的日志库,它包含了 SLF4J 和其他可能的日志库。