Hap*_*per 2 logging ruby-on-rails
日志有问题.它们在开发上运行良好,但在生产中我无法编写自己的消息.
除了安装Devise和Mongoid之外,我没有更改配置文件中的任何内容.但为了以防万一,我尝试取消注释#config.log_level =:debug in production.rb
控制器:
class PagesController < ApplicationController
def home
logger.fatal 'bla'
end
def about
end
end
Run Code Online (Sandbox Code Playgroud)
终端(日志权限):
root@ubuntu:/srv/www/myapp# ls log -lah total 496K drwxr-xr-x 2 myapp root 4.0K 2012-02-21 17:18 . drwxr-xr-x 14 root root 4.0K 2012-02-20 14:54 .. -rw-r--r-- 1 myapp myapp 35K 2012-02-21 16:23 development.log -rw-r--r-- 1 myapp root 0 2012-02-17 18:27 .gitkeep -rw-r--r-- 1 root root 447K 2012-02-21 17:47 passenger.80.log -rw-r--r-- 1 myapp myapp 0 2012-02-21 17:18 production.log
航站楼(乘客):
root@ubuntu:/srv/www/myapp# passenger start -e production -p 80 --user=myapp =============== Phusion Passenger Standalone web server started =============== PID file: /srv/www/myapp/tmp/pids/passenger.80.pid Log file: /srv/www/myapp/log/passenger.80.log Environment: production Accessible via: http://0.0.0.0/ You can stop Phusion Passenger Standalone by pressing Ctrl-C. =============================================================================== cache: [HEAD /] miss cache: [GET /] miss
假设您使用的是Rails 3.2.0或Rails 3.2.1,这是一个已知问题(请参阅https://github.com/rails/rails/issues/4277).它已经修复,但还没有发布.
解决方法是添加初始化程序:
Rails.logger.instance_variable_get(:@logger).instance_variable_get(:@log_dest).sync = true if Rails.logger
Run Code Online (Sandbox Code Playgroud)
更新:Rails 3.2.2解决了这个问题.
| 归档时间: |
|
| 查看次数: |
3056 次 |
| 最近记录: |