Ich habe versucht, den richtigen Weg zum Protokollieren eines Stack-Trace zu finden. Ich bin auf diesen Link gestoßen, der besagt, dass logger.error $!, $!. Backtrace der richtige Weg ist, aber das funktioniert bei mir nicht. Log_error funktioniert. Gemäß der Dokumentation sehe ich nicht, wie das Übergeben eines zweiten Arguments an die Fehlermethode sowieso funktionieren würde, da der von Rails verwendete Ruby-Logger nur ein einziges Argument akzeptiert.
Seltsamerweise (oder vielleicht auch nicht) wird das zweite Argument ohne Beschwerden von Dolmetschern akzeptiert. Alles, was ich weitergebe, wird jedoch ignoriert.
Kann mir jemand erklären, was mir fehlt? Gibt es einen Einblick, wofür das zweite Argument des Fehlers ist und was es isst?
quelle
$/
stattdessen plattformübergreifend kompatibel sein? Lassen Sie Ruby sich darum kümmern, da dies\r\n
nur für einige wenige Plattformen spezifisch ist.Das ist die Antwort.
quelle
Rails.logger.error [e.message, *e.backtrace].join($/)