shell - 你如何处理令人分心的 shell tty 输出?

标签 shell erlang sasl

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

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

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

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

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

  2. 我不喜欢在我刚输入的那一行输入

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

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

作为引用,这是我开始 session 的方式:

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

最佳答案

在内核文档 (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

关于shell - 你如何处理令人分心的 shell tty 输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5584358/

相关文章:

c - exec() C 中的任何命令

linux - ^[ 在 shell 提示符下转义

bash - vim:为什么 sh 配色方案将 `$(...)` 突出显示为错误?

java - 如何在java中使用sasl机制PLAIN和安全协议(protocol)SASL_SSL配置kafka消费者?

linux - shell 脚本 : execute echo statements with a time delay

erlang - 尝试为ARM交叉编译Erlang R13B04时失败

erlang - 使进程在超时之前结束

ssl - 负载测试 xmpp 服务器

linux - 在 Debian Wheezy 上使用 SASL 构建 libmemcached