我的应用程序执行循环error_logger报告。
这些将显示在Erlang shell上,这是一个非常多的输出。
这使得在shell中输入非常麻烦。
通常的处理方法是:
我真的很想看到这个输出
我不喜欢输入行的所有内容我只需输入
如何处理?始终在第二个shell上进行分发并连接以供用户输入(这在启动应用程序时是额外的工作,我在开发期间经常这样做。)
我更喜欢一些自动轻松启动的设置,其中所有日志记录和sasl消息都在一个地方,我的输入和返回值在另一个地方不受干扰。
作为参考,这是我开始会话的方式:
#!/bin sh
erl +W w -boot start_sasl -config myapp -s myapp -extra "$@"
答案 0 :(得分:4)
在内核文档(http://erlang.org/doc/man/kernel_app.html)中,它描述了如何设置应用程序环境变量以将error_logger打印输出重定向到文件或完全禁用它们。这样的事情对你有用:
erl +W w -boot start_sasl -kernel error_logger '{file,"/tmp/log"}' -config myapp -s myapp -extra "$@"
您还可以使用类似的选项进行sasl打印输出:http://erlang.org/doc/man/sasl_app.html