【问题标题】:Disable the default logging of Akka ActorSystem禁用 Akka ActorSystem 的默认日志记录
【发布时间】:2014-08-16 06:22:02
【问题描述】:

我需要一个不记录任何内容的ActorSystem。用spray尝试HTTP的东西,我太笨了,忍不住复制粘贴他们的示例代码here。如您所见,他们正在使用ActorSystem,其默认配置会用一大堆信息将标准输出弄乱。那么如何制作适合我需要的ActorSystem?如果它可以在没有任何外部 XML 或配置文件的情况下完成,我会喜欢这种方式。谢谢! :)

【问题讨论】:

  • “我太笨了,忍不住复制粘贴他们的示例代码”。你不傻。阅读和修改其他人编写的代码是一种很好的学习方式。如果你觉得复制代码“愚蠢”,为什么不重新输入呢?当我输入内容而不是复制内容时,我倾向于更好地了解正在发生的事情。不要说你是愚蠢的,因为你不知道神奇的东西。

标签: scala logging akka


【解决方案1】:
import spray.http._
import spray.client.pipelining._
import akka.actor.ActorSystem
import com.typesafe.config._

val config = ConfigFactory.load()
     .withValue("akka.loglevel", ConfigValueFactory.fromAnyRef("OFF"))
     .withValue("akka.stdout-loglevel", ConfigValueFactory.fromAnyRef("OFF"))
implicit val system = ActorSystem("AlwaysNameYourSystem", config)
import system.dispatcher // execution context for futures
// ... here goes the rest of example code

这里做了什么

  • 手动创建了Typesafe Config 的实例
  • 将日志级别值设置为可能的最高级别。
  • 使用显式配置 (docs here) 构造 ActorSystem

此时您应该在系统启动期间看不到任何消息和任何喷雾通知

【讨论】:

  • 谢谢,它成功了 :) 我一直想知道这些配置的东西是否可以输入安全或不可能
猜你喜欢
  • 1970-01-01
  • 2019-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多