我最近阅读了this文章,这使我想知道使用LazyLogging
是否会造成性能瓶颈。
我的问题:Scala Logging的LazyLogging
特质是阻止还是不阻止?
我们记录并处理了大量消息,并使用Akka。那么,对于性能而言,只有懒惰的记录员会有所帮助还是会受到伤害?
答案 0 :(得分:2)
scala日志记录库依赖于SLF4J库,它是各种日志记录库的API前端。因此,日志记录是否同步是完全由您使用的实际日志记录框架定义的。最突出和最现代的是Logback和Log4J 2,但还有其他通常较旧的替代方法,例如commons-logging,log4j1甚至是java.util.Logging(7月)
因此,根据您的后端配置,您的日志调用可能是同步的,也可能不是同步的。例如,Logback具有AsyncAppender,它充当其他可能阻塞的附加程序的异步前端。特定附加器也可能是异步的,例如如果它是写入外部日志聚合系统的附加程序。