Alle Rails-Anwendungsprotokolle werden in das Apache-Fehlerprotokoll geschrieben

1786
Jon Worek

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 /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 /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.

3
Ich habe genau das gleiche Problem, irgendeine Lösung? Eduard vor 9 Jahren 1
Leider noch nicht. Jon Worek vor 9 Jahren 0
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 vor 9 Jahren 0
Ich kann bestätigen, dass ein Upgrade auf Schienen 4.1.1 das Protokollproblem gelöst hat Eduard vor 9 Jahren 0
In meinem Fall bin ich mit diesem Problem auf Rails 4.1.5 konfrontiert. Ich habe ohne Erfolg auf 4.1.6 aktualisiert. Jodi vor 9 Jahren 0

1 Antwort auf die Frage

0
KJW

Ich hatte eine ähnliche Situation. In meinem Fall war eine #/config.ruZeile enthalten use Rails::Rack::LogTailer. Dies führte dazu, dass auch alle Rails-Protokolle hinzugefügt wurden /var/log/apache2/error.log.

Hat das Entfernen / Ändern dieser Zeile funktioniert oder mussten Sie Ihre Version wie das aufgerufene OP aktualisieren? Foosh vor 9 Jahren 0