Alle Rails-Anwendungsprotokolle werden in das Apache-Fehlerprotokoll geschrieben

3

Ich habe einen Ruby on rail 4.0.3-Server auf einem Server bereitgestellt, den ich mit der folgenden wahrscheinlich relevanten Software konfiguriert habe:

  • Ubuntu 12.04.4 x64 Server
  • Phusionspassagier 4.0.37
  • Apache 2.2.22
  • Ruby 2.0.0p353
  • Schienen 4.0.3 / Capistrano 2.15.5 / Rechen 10.1.1

Mit der App scheint alles einwandfrei zu funktionieren, mit Ausnahme der Rail-Anwendungsprotokollierung. Ich gehe davon aus, dass alles anwendungsspezifische in die Datei {Rails.root} /log/production.log geschrieben werden soll. Es wird jedoch alles in /var/log/apache2/error.log geschrieben.

Hier ist ein Auszug aus dem Apache error.log, um zu zeigen, was ich meine:

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)

Ich finde es interessant, dass log / production.log sogar erstellt wird, aber nichts geschrieben wird.

Einige Dinge, die ich mir angesehen / überprüft habe:

  • RAILS_ENV = Produktion
  • Für {Rails.root} /config/environments/production.rb sind alle Standardwerte festgelegt
  • Mein Apache / Passagier-Setup ist meistens Standard, mit der Ausnahme, dass Sie einen Virtualhost-Eintrag für meine App hinzufügen müssen.
<VirtualHost *:80> 
        ServerAdmin webmaster@localhost 
        DocumentRoot /var/www/apps/myapp/current/public 
        RailsEnv production  
</VirtualHost>
  • Die Berechtigungen für alle Dateien in der Rails-App scheinen gut zu sein - und aus Verzweiflung versuchte ich, dem Protokoll / production.log die Berechtigung "777" zu erteilen, ohne Erfolg.

Gerne gebe ich Ihnen auf Anfrage weitere Informationen zur Anwendungskonfiguration oder Umgebungsdetails.

Jon Worek
quelle
1
Ich habe genau das gleiche Problem, irgendeine Lösung?
Eduard
Leider noch nicht.
Jon Worek
Ich denke, dass dies bei dieser Version von Schienen möglicherweise nur ein Problem war. Ich habe gerade eine neue Schienen-App implementiert, die auf 4.1.1 basiert und die Protokolldatei / production.log schreibt. Aktualisieren Sie Ihre Schienenversion und sehen Sie, was passiert. Zu Ihrer Information, ich habe auch ein paar andere Komponenten aufgerüstet, aber die größte Änderung waren Schienen. Wenn es für Sie nicht behoben ist, werde ich spezifische Versionen für die anderen Elemente in meiner Umgebung bereitstellen.
Jon Worek
Ich kann bestätigen, dass ein Upgrade auf Schienen 4.1.1 das Protokollproblem gelöst hat
Eduard
In meinem Fall stehe ich vor diesem Problem auf Rails 4.1.5. Ich habe ohne Erfolg auf 4.1.6 aktualisiert.
Jodi

Antworten:

0

Ich hatte eine ähnliche Situation. In meinem Fall a #{Rails.root}/config.ru schloss die Zeile ein use Rails::Rack::LogTailer. Dies führte dazu, dass auch alle Rails-Protokolle hinzugefügt wurden /var/log/apache2/error.log.

KJW
quelle
Hat das Entfernen / Ändern dieser Zeile funktioniert oder mussten Sie Ihre Version wie das aufgerufene OP aktualisieren?
Foosh