2017-05-28 150 views
1

在我gen_server我结束这样的:如何gen_server正常终止,而不崩溃报告

handle_info({'EXIT', _From, _Reason}, State) -> 
    {stop, partner_fled, State}; 

但还是记录打印出来作为一个错误

14:56:43.349 [error] gen_server <0.3290.0> terminated with reason: partner_fled 
14:56:43.349 [error] CRASH REPORT Process <0.3290.0> with 0 neighbours exited with reason: partner_fled in gen_server:terminate/7 line 812 

的代码如预期运行,但我不希望记录器将其打印出来作为优雅的终止。

顺便说一句,我使用啤酒,但我认为删除它只会改变日志的格式。

回答

1

the manual

注意,任何其他原因比normalshutdown,或{shutdown,Term},假设gen_server进程终止,因为一个错误和错误报告使用error_logger:format/2发出。

所以,如果你不希望打印的任何错误报告做,你可以改变你的理由normalshutdown或者如果你想返回一个自定义的期限为好,{shutdown, Term}

handle_info({'EXIT', _From, _Reason}, State) -> 
    {stop, {shutdown, partner_fled}, State};