如何在Rails 3应用程序上禁用控制台输出? 更具体地说,我想至少禁用Mailer输出,输出整个电子邮件内容,包括图片,使动作处理更慢(发送电子邮件需要大约10秒)。
ps:我认为减速是因为输出,如果它可以来自其他来源,例如慢速smtp服务器(它是gmail atm,所以没有。)或类似的东西请告诉我。
答案 0 :(得分:6)
你的意思是你想要隐藏在运行rails s
(或者在导轨2中script/server
)的控制台运行中显示的输出?
您使用的是Linux还是OSX?
如果是这样,那么只需执行以下操作
$ rails server 1> /dev/null
这会将stdout的所有输出发送到黑洞。
那么你现在正试图从开发机器发送电子邮件? 我尽量避免这种情况, 事故即将发生 并且您将向客户发送测试数据。
尝试Mailcatcher http://mailcatcher.me/
它可以让您捕获应用发送的所有电子邮件 在一个漂亮的Web界面中显示它们 并且重要的是避免使用随机测试数据意外向客户发送真实电子邮件的风险。
答案 1 :(得分:0)
SMTP服务器(甚至是Gmail)响应可能需要一些时间。您宁愿使用将所有电子邮件存储在数据库中的邮件队列,然后由独立的进程发送。
E.g。 https://github.com/beam/action-mailer-queue
关于记录器 - 确保您的记录级别为:error或:致命。如果没有,请运行:
config.log_level = :error