在Erlang中保持依赖安静

时间:2017-11-11 17:40:29

标签: erlang chumak

我在基于Erlang的ZMQ服务器中使用chumak。我正在监听并产生进程来接受连接:

          {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中关闭依赖库?

1 个答案:

答案 0 :(得分:1)

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

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

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