3

我的应用程序执行循环 error_logger 报告。

这些将显示在 Erlang shell 上,这是相当多的输出。

这使得在 shell 中输入非常麻烦。

鉴于以下情况,通常的处理方法是什么:

  1. 我真的很想看到这个输出

  2. 我不喜欢在我刚刚输入的输入行中全部输入

如何处理?始终打开并连接第二个 shell 以供用户输入(在启动应用程序时这是额外的工作,我在开发过程中经常这样做)。

我更喜欢一些易于启动的自动设置,其中所有日志记录和 sasl 消息都放在一个地方,而我的输入和返回值在另一个地方不受干扰。

作为参考,这是我开始会话的方式:

#!/bin sh
erl +W w -boot start_sasl -config myapp -s myapp -extra "$@" 
4

1 回答 1

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

于 2011-04-07T17:34:23.617 回答