如何使`thin` webserver打印日志到STDOUT

时间:2013-10-17 21:35:46

标签: ruby-on-rails-4 thin

上下文:要将localhost作为SSL运行,我遵循instructions at this site

设置SSL证书后,为了运行本地rails服务器,该站点说:

thin start --ssl <some more options>

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

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

bundle exec rails s thin --ssl

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

或者,如何让thin将Rails日志输出到STDOUT?

3 个答案:

答案 0 :(得分:11)

我认为您需要告诉rails使用STDOUT进行日志记录,而不是通过将log/development.log放入config.logger = Logger.new(STDOUT)来登录app/config/environments/development.rb

答案 1 :(得分:4)

Well Thin显式不会默认记录任何内容,除非您通过传递选项

指定它
-D or --debug and -V or --trace 

但是已经说过,这只会跟踪请求/响应标头,但不会跟踪特定于日志的日志,因为您正在将rails作为机架应用程序启动

我想您需要在ssl模式下启动rails,您可以在herehere上找到几个文档

仅在FYI中使用thin作为后端适配器,您只需将gem 'thin'添加到Gemfile中 并启动rails它会使用瘦适配器启动rails但是你不能像开始瘦的那样传递瘦选项

答案 2 :(得分:0)

确保将setComponent = module => (component, label) => { this.components.push({component, label, module}); } 文件配置为打印日志,如果没有,则可以在其中添加这些行。

config/environments/development.rb