scala – 如何强制Logger.debug输出在Play!框架specs2测试?
发布时间:2020-12-16 09:46:55 所属栏目:安全 来源:网络整理
导读:默认情况下,当应用程序正在运行时,所有Logger输出(在应用程序运行时可见)在测试应用程序时静默。 如何强制调试,信息等在specs2报告中显示? 解决方法 首先,你可能喜欢在测试模式下禁用日志记录的一些背景。这是Guillame Bort在游戏论坛中对问题的回答(见
默认情况下,当应用程序正在运行时,所有Logger输出(在应用程序运行时可见)在测试应用程序时静默。
如何强制调试,信息等在specs2报告中显示? 解决方法
首先,你可能喜欢在测试模式下禁用日志记录的一些背景。这是Guillame Bort在游戏论坛中对问题的回答(见
this thread):
作为解决方法,我创建了我自己的记录器这样(Scala代码): import play.api.{Play,LoggerLike,Logger} import org.slf4j.LoggerFactory import org.slf4j.impl.SimpleLoggerFactory object MyLogger extends LoggerLike { val factory = if (Play.isTest(Play.current)) { new SimpleLoggerFactory() } else { LoggerFactory.getILoggerFactory } val redirectDebugToInfo = factory.isInstanceOf[SimpleLoggerFactory] val logger = factory.getLogger("application") def apply(name: String): Logger = new Logger(factory.getLogger(name)) def apply[T](clazz: Class[T]): Logger = new Logger(factory.getLogger(clazz.getCanonicalName)) // this method is to make debug statements to show up in test mode override def debug(m: => String) = { if (redirectDebugToInfo) { info(m) } else { super.debug(m) } } } 我不知道这个代码关于PermGen泄漏的一般行为,但到目前为止我没有这个问题。 "org.slf4j" % "slf4j-simple" % "1.6.4" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- angularjs – 如何在Visual Studio Code中使用Typescript和
- angularjs – Angular:ng-show和函数
- haskell – cmdArgs bash完成
- emit,EventEmitter,subscribe,next,subject 使用
- bootstrap treeview实现菜单树
- Emacs备忘单列出了日常vim命令的等价物
- Scala mongodb:查询结果列表
- 执行bash –login -i的自定义init脚本,例如从快捷方式更改为
- 使用中国气象局的天气预报webservice
- 使用AngularJS,如何一次将所有表单字段设置为$dirty?