2009-04-15 9 views

Antwort

7

Warum melden Sie sich nicht nur auf die Rails-Protokolle? Sie können Rails.logger verwenden, um in die Dateien im Protokollverzeichnis Ihrer App zu schreiben.

Beispiel:

Rails.logger.warn "Login failed for user #{@user.login}" 

Rails unterschiedlichen Protokollebenen hat eingebaute (debug, info, warn, error, und tödlich), und diese können in Ihrer Umgebung Datei angegeben werden. So setzen die Protokollierung im Produktionsmodus zu Debug-Level:

config.log_level = :debug 
3

Ich glaube, Sie können „wieder öffnen“ STDOUT unabhängig RAILS_DEFAULT_LOGGER Punkte zu Punkt (Ihr Passagierprotokoll in diesem Fall).

Aber ich bin nicht sicher, ob es eine gute Idee ist, hier ist der Grund:

Log für Dinge, die Sie während der normalen Funktion der App wissen wollen, und wird anders gefiltert nach Ihren envioronment logger.debug() ruft print in development.log, aber nicht in production.log, logger.error(), logischerweise, überall.

STDOUT (p, puts, printf, pretty_print ...) ist perfekt por Skript/Konsole Experimente und für Debugger Anrufe, siehe: post about ruby-debug für einige Hinweise zur Verwendung von "puts" oder "p" zu sehen Werte Ihrer Variablen in der Mitte einer Ausführung.

Ich hoffe, das kann Ihnen helfen.