我已经看到了以下日志记录方式。每个运行时性能影响是什么?使用其中一个是否有任何其他好处。
val strValue = "xyz"
val intValue = 200
log.debug("This will log the string " + strValue + " and the int " + intValue)
log.debug(s"This will log the string $strValue and the int $intValue" )
log.debug("This will log the string %s and the int %d".format(strValue,intValue))
log.debug("This will log the string {} and the int {}", strValue, intValue)
我目前的大部分日志记录需求都在Play和Akka项目中。
答案 0 :(得分:1)
我认为在性能影响方面没有差异。第二种和第三种方法应该完全相同。第二个由Scala编译器转换为第三个。第二个提供了更好的语法。
说完这些日志声明应该根本没有性能影响。这些日志语句转换为以下内容。因此,它会自动遵循您可能从Java中了解的最佳实践。
if(log.isDebugEnabled()){
log.debug(...)
}
所以最后:坚持你最喜欢的: - )