4
votes

I'm using Erlang/OTP 20 on macOS. Eshell prints multiple lines with heading "PROGRESS REPORT", I want it to not print that.

Inverse greping and similar work around are not desirable.

Here's a sample of statements getting printed:

=PROGRESS REPORT==== 28-Aug-2017::22:39:40 === supervisor: {local,sasl_safe_sup} started: [{pid,<0.59.0>}, {id,alarm_handler}, {mfargs,{alarm_handler,start_link,[]}}, {restart_type,permanent}, {shutdown,2000}, {child_type,worker}]

=PROGRESS REPORT==== 28-Aug-2017::22:39:40 === supervisor: {local,sasl_sup} started: [{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}]

=PROGRESS REPORT==== 28-Aug-2017::22:39:40 === supervisor: {local,sasl_sup} started: [{pid,<0.60.0>}, {id,release_handler}, {mfargs,{release_handler,start_link,[]}}, {restart_type,permanent}, {shutdown,2000}, {child_type,worker}]

2
To what end? Pls. elaborate. - Marc Lambrichs

2 Answers

7
votes

As described in the documentation for the sasl application, you can suppress progress reports by setting the configuration parameter errlog_type to error.

You can specify it on the command line:

erl -sasl errlog_type error

Or, if you're using a sys.config file, add it there:

{sasl, [{errlog_type, error}]}

Setting it with application:set_env after the node has started won't work: it only takes effect if the value was set before the sasl application started.

1
votes

If you don't want the SASL app to start at all you can use a different boot script:

erl -boot start_clean

This will disable SASL messages completely.