保持Erlang中的依赖关系安全

保持Erlang中的依赖关系安全

问题描述:

我在基于Erlang的ZMQ服务器中使用chumak。我正在倾听和产卵过程,以接受连接:保持Erlang中的依赖关系安全

  {ok, LSocket} = chumak:socket(rep),                                 
      {ok, _} = chumak:bind(LSocket, tcp, "0.0.0.0", ?PORT),                          
      spawn_link(fun() -> loop(LSocket, DBConn, RedisConn) end), 

这一切工作正常。但是有一个问题。当发生某种“意外”(来自chumak的观点)时,例如连接到其端口的端口扫描,接受数据的进程可能会死亡。这很好,因为它会自动重启。不好的是,当这种情况发生时,chumak将错误全部喷洒在控制台上。我不关心他们。

有什么办法可以在Erlang中关闭依赖库吗?

chumak错误通过error_logger发出。这意味着,为了防止它们显示出来,你必须告诉你的error_logger处理程序不要显示它们。

我猜你在为此使用sasl。如果是这种情况,您需要做的是将此配置添加到sasl环境:{sasl_error_logger, false}

但是要小心,如果你这样做,你将禁止显示所有的错误日志。我不确定您是否可以告诉sasl跳过特定类型的错误报告。如果可能的话,您将不想打印出bind_error报告的错误消息。