出于安全原因,我不希望 Sinatra 在标准输出中打印其请求的每个 URL,我已尝试使用 set :logging, false
,如 this answer 中的建议使用:
class SweetAppName< Sinatra::Base
set :show_exceptions, false
set :environment, :production
set :logging, false
然而,当我使用 rackup 和 thin 运行应用程序时,我仍然看到请求记录到终端:
127.0.0.1 - - [26/May/2015:09:32:34 -0700] "GET /not-a-real-url HTTP/1.0" 404 - 0.0452
我怎样才能关闭这些?
最佳答案
如果您使用 rackup
启动您的应用程序,Rack will add some middleware, including logging .您可以通过对 rackup
使用安静选项(-q
或 --quiet
)来防止这种情况,即从命令行:
$ rackup -q
如果需要,您可以在 config.ru
中包含此选项,这样您就不必在每次启动应用程序时都记住输入它。 first line that starts with #\
is parsed as options , 所以你可以有这样一个 config.ru
:
#\ --quiet
# other middleware etc...
run SweetAppName
如果您使用经典的 Sinatra 应用程序样式,则需要添加 set :logging, false
行,否则 Sinatra 将添加自己的日志记录。对于模块化样式(就像您在问题中使用的那样),此设置默认为 false
,因此您不需要它。
关于ruby - 禁用 Sinatra 标准输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30471322/