禁用 Sinatra 标准输出
Disable Sinatra standard output
出于安全原因,我不希望 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
,因此您不需要它。
出于安全原因,我不希望 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
,因此您不需要它。