如何在Rails 3开发服务器上禁用控制台输出?

如何在Rails 3应用程序上禁用控制台输出? 更具体地说,我想至少禁用Mailer输出,输出整个电子邮件内容,包括图片,使动作处理更慢(发送电子邮件需要大约10秒)。

ps:我认为减速是因为输出,如果它可以来自其他来源,例如慢速smtp服务器(它是gmail atm,所以没有。)或其他类似的东西请告诉我。

这意味着你想要隐藏运行rails s (或rails 2中的script/server )的控制台运行中显示的输出?

你在Linux或OSX上吗?

如果是这样,那么只需执行以下操作

 $ rails server 1> /dev/null 

这会将stdout的所有输出发送到黑洞。

那么你现在正试图从你的开发机器发送电子邮件? 我试图避免这种情况,因为事故将会发生并且您将向客户发送测试数据。

试试Mailcatcher http://mailcatcher.me/

它可以让你捕获你的应用程序发送的所有电子邮件,在一个漂亮的网络界面中显示它们,并且重要的是避免使用随机测试数据意外地向客户发送真实电子邮件的风险。

SMTP服务器(甚至Gmail)响应可能需要一些时间。 您宁愿使用将所有电子邮件存储在数据库中的邮件队列,然后由独立进程发送。

例如https://github.com/beam/action-mailer-queue

关于记录器 – 确保您的记录级别为:error或:fatal。 如果没有,请运行:

config.log_level = :error