Wszystkie dzienniki aplikacji Rails są zapisywane w dzienniku błędów Apache

3

Wdrożyłem aplikację Ruby on Rails 4.0.3 na serwerze, który skonfigurowałem za pomocą następującego prawdopodobnie odpowiedniego oprogramowania:

  • Serwer Ubuntu 12.04.4 x64
  • Phusion Passenger 4.0.37
  • Apache 2.2.22
  • Ruby 2.0.0p353
  • Szyny 4.0.3 / Capistrano 2.15.5 / Grabie 10.1.1

Wygląda na to, że wszystko w aplikacji działa poprawnie, z wyjątkiem rejestrowania aplikacji w szynie. Oczekuję, że wszystko, co jest specyficzne dla aplikacji, powinno zostać zapisane w pliku {Rails.root} /log/production.log. Jednak wszystko wydaje się być zapisywane w /var/log/apache2/error.log.

Oto fragment apache error.log, który pokazuje, co mam na myśli:

App 1495 stdout: Started GET "/" for 192.168.1.106 at 2014-03-08 17:26:04 -0500
App 1495 stdout: Processing by HomeController#index as HTML
App 1495 stdout:   Rendered home/index.html.erb within layouts/application (0.1ms)
App 1495 stdout:   Rendered layouts/_header.html.erb (2.0ms)
App 1495 stdout:   Rendered home/_auth.html.erb (0.4ms)
App 1495 stdout:   Rendered layouts/_footer.html.erb (0.1ms)
App 1495 stdout: Completed 200 OK in 9ms (Views: 5.8ms | ActiveRecord: 0.0ms)

Interesujące jest to, że log / production.log jest nawet tworzony, ale nic nie jest do niego zapisywane.

Niektóre rzeczy, które sprawdziłem / zweryfikowałem:

  • RAILS_ENV = produkcja
  • {Rails.root} /config/environments/production.rb jest ustawiony na wszystkie wartości domyślne
  • Moja konfiguracja apache / pasażerów jest w większości domyślna, z wyjątkiem konieczności dodania wpisu virtualhost do mojej aplikacji, na przykład:
<VirtualHost *:80> 
        ServerAdmin webmaster@localhost 
        DocumentRoot /var/www/apps/myapp/current/public 
        RailsEnv production  
</VirtualHost>
  • Uprawnienia do wszystkich plików w aplikacji railsowej wydają się być dobre - w desperacji próbowałem udzielić logu / production.log bezskutecznie uprawnienia „777”.

Z przyjemnością podam na żądanie wszelkie inne informacje o konfiguracji aplikacji lub szczegóły środowiska.

Jon Worek
źródło
1
Mam dokładnie ten sam problem, jakieś rozwiązanie?
Eduard
Niestety jeszcze nie.
Jon Worek,
Właściwie myślę, że mógł to być problem z tą wersją szyn. Właśnie wdrożyłem nową aplikację railsową zbudowaną na 4.1.1 i zapisującą log / production.log. Spróbuj zaktualizować swoją wersję szyn i zobacz, co się stanie. Do waszej informacji uaktualniłem także kilka innych komponentów, ale najważniejszą zmianą były szyny. Jeśli to nie rozwiąże problemu, podam konkretne wersje innych rzeczy w moim środowisku.
Jon Worek,
Mogę potwierdzić, że aktualizacja do wersji 4.1.1 rozwiązała problem z logami
Eduard,
W moim przypadku ten problem występuje w Railsach 4.1.5. Uaktualniłem do 4.1.6 bez powodzenia.
Jodi

Odpowiedzi:

0

Miałem podobną sytuację. W moim przypadku #{Rails.root}/config.ruzawarta jest linia use Rails::Rack::LogTailer. Powodowało to, że dodawane było również wszystkie logowanie do Railsów /var/log/apache2/error.log.

KJW
źródło
Czy usunięcie / modyfikacja tej linii działała, czy też musiałaś zaktualizować swoją wersję zgodnie z PO?
Foosh