出于安全原因,我不希望Sinatra打印标准输出中所请求的每个URL,我尝试使用本回答中的set :logging, false建议使用:
class SweetAppName< Sinatra::Base
set :show_exceptions, false
set :environment, :production
set :logging, false
Run Code Online (Sandbox Code Playgroud)
但是,当我使用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将添加一些中间件,包括日志记录.您可以通过使用quiet选项(-q或--quiet)来阻止这种情况rackup,即从命令行:
$ rackup -q
Run Code Online (Sandbox Code Playgroud)
config.ru如果您愿意,可以在此处添加此选项,这样您就不必记住每次启动应用程序时都输入该选项.开头#\的第一行被解析为选项,因此您可以config.ru这样:
#\ --quiet
# other middleware etc...
run SweetAppName
Run Code Online (Sandbox Code Playgroud)
如果您使用经典的Sinatra应用程序样式,则需要添加该set :logging, false行,否则Sinatra将添加自己的日志记录.使用模块化样式(就像您在问题中使用的那样),此设置默认为false不需要它.