Scala日志记录:LazyLogging是阻止还是非阻止?

时间:2018-11-14 21:08:24

标签: scala

我最近阅读了this文章,这使我想知道使用LazyLogging是否会造成性能瓶颈。

我的问题:Scala LoggingLazyLogging特质是阻止还是不阻止?

我们记录并处理了大量消息,并使用Akka。那么,对于性能而言,只有懒惰的记录员会有所帮助还是会受到伤害?

1 个答案:

答案 0 :(得分:2)

scala日志记录库依赖于SLF4J库,它是各种日志记录库的API前端。因此,日志记录是否同步是完全由您使用的实际日志记录框架定义的。最突出和最现代的是LogbackLog4J 2,但还有其他通常较旧的替代方法,例如commons-logginglog4j1甚至是java.util.Logging(7月)

因此,根据您的后端配置,您的日志调用可能是同步的,也可能不是同步的。例如,Logback具有AsyncAppender,它充当其他可能阻塞的附加程序的异步前端。特定附加器也可能是异步的,例如如果它是写入外部日志聚合系统的附加程序。