如何压制"进展报告"来自Erlang的交互式shell

时间:2017-08-28 22:56:21

标签: erlang

我在macOS上使用Erlang / OTP 20。 Eshell使用标题" PROGRESS REPORT"打印多行,我希望它不打印。

反向grep和类似的工作是不可取的。

以下是打印报表的示例:

  

=进展报告==== 2017年8月28日:: 22:39:40 ===             主管:{local,sasl_safe_sup}                开始:[{pid,< 0.59.0>},                          {ID,alarm_handler}                          {mfargs,{alarm_handler,START_LINK,[]}},                          {启动Restart_type,永久},                          {关机,2000},                          {CHILD_TYPE,工人}]

     

=进展报告==== 2017年8月28日:: 22:39:40 ===             主管:{local,sasl_sup}                开始:[{pid,< 0.58.0>},                          {ID,sasl_safe_sup}                          {mfargs,                              {主管,START_LINK,                                  [{本地,sasl_safe_sup},SASL安全]}},                          {启动Restart_type,永久},                          {关机,无限}                          {CHILD_TYPE,监}]

     

=进展报告==== 2017年8月28日:: 22:39:40 ===             主管:{local,sasl_sup}                开始:[{pid,< 0.60.0>},                          {ID,release_handler}                          {mfargs,{release_handler,START_LINK,[]}},                          {启动Restart_type,永久},                          {关机,2000},                          {CHILD_TYPE,工人}]

2 个答案:

答案 0 :(得分:5)

the documentation for the sasl application中所述,您可以通过将配置参数errlog_type设置为error来取消进度报告。

您可以在命令行中指定它:

erl -sasl errlog_type error

或者,如果您使用的是sys.config文件,请将其添加到其中:

{sasl, [{errlog_type, error}]}

在节点启动后使用application:set_env进行设置将不起作用:仅在sasl应用程序启动之前设置该值时才会生效。

答案 1 :(得分:1)

如果您根本不想启动SASL应用,则可以使用其他boot script

if ($model->load(Yii::$app->request->post())) { if(Yii::$app->request->isAjax) { return $this->asJson(ActiveForm::validate($model)); } }

这将完全禁用SASL消息。