如何从Erlang交互式shell中抑制"PROGRESS REPORT"

Anu*_*hne 3 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,permanent},{shutdown,2000},{child_type,worker}]

=进度报告==== 2017年8月28日:: 22:39:40 ===主管:{local,sasl_sup}开始:[{pid,<0.58.0>},{id,sasl_safe_sup},{mfargs ,{supervisor,start_link,[{local,sasl_safe_sup},sasl,safe]}},{restart_type,permanent},{shutdown,infinity},{child_type,supervisor}]

=进度报告==== 2017年8月28日:: 22:39:40 ===主管:{local,sasl_sup}开始:[{pid,<0.60.0>},{id,release_handler},{mfargs ,{release_handler,start_link,[]}},{restart_type,permanent},{shutdown,2000},{child_type,worker}]

leg*_*cia 6

正如所描述的文档sasl的应用程序,你可以通过设置配置参数抑制进展报告errlog_typeerror.

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

erl -sasl errlog_type error
Run Code Online (Sandbox Code Playgroud)

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

{sasl, [{errlog_type, error}]}
Run Code Online (Sandbox Code Playgroud)

application:set_env在节点启动后设置它将不起作用:只有在sasl应用程序启动之前设置了值才会生效.