13

上下文:要将 localhost 作为 SSL 运行,我按照此站点上的说明进行操作

设置 SSL 证书后,要运行本地 Rails 服务器,该站点说:

thin start --ssl <some more options>

当我这样做时,我注意到我不再看到 Rails 日志被打印到 STDOUT。

如何将 the--ssl和其他选项传递给thin?这不起作用:

bundle exec rails s thin --ssl

.../rails/commands/server.rb:33:in `parse!': 
    invalid option: --ssl (OptionParser::InvalidOption)

或者,我怎样才能thin将 Rails 日志输出到 STDOUT?

4

3 回答 3

12

我认为你需要告诉 RailsSTDOUT用于记录而不是log/development.log通过放入config.logger = Logger.new(STDOUT)你的app/config/environments/development.rb.

于 2013-10-17T22:08:19.660 回答
5

Well Thin 默认情况下不会显式记录任何内容,除非您通过传递选项来指定它

-D or --debug and -V or --trace 

但是话虽如此,这只会跟踪请求/响应标头,但不会跟踪特定于 rails 的日志,因为您可能正在将 rails 作为机架应用程序启动

我猜你需要在 ssl 模式下启动 rails 你可以在这里这里找到几个文档

仅供参考,在 Rails 中使用 Thin 作为后端适配器,您所做的就是添加gem 'thin'到 Gemfile 并启动 Rails,它将使用 Thin Adapter 启动 Rails,但您不能像开始 Thin 时那样传递 Thin 选项

于 2013-10-18T08:44:19.040 回答
0

确保您的config/environments/development.rb文件配置为打印日志,如果不是,您可以在此处添加这些行。

logger = ActiveSupport::Logger.new(STDOUT)
logger.formatter = config.log_formatter
config.logger = ActiveSupport::TaggedLogging.new(logger)
于 2020-01-29T16:03:03.177 回答