Frage Logger in Rails verwenden 4


Ich arbeite an einem Rails 4-Projekt, und ich kann scheinbar nichts in meinem Entwicklungsprotokoll auftauchen lassen, wenn ich anrufe Rails.logger.debug "test" Ich habe versucht, online zu suchen, aber ich habe das Gefühl, dass ich nicht viel Fortschritte gemacht habe. Wie würde ich einen Logger einrichten und ihm mitteilen, dass er in meine Entwicklungsprotokolldatei schreiben soll?

Jede Hilfe würde sehr geschätzt werden.


46
2017-07-19 15:24


Ursprung


Antworten:


Ich denke, du solltest es so in deiner Methode benutzen. Auschecken Abschnitt 2.3 Hier

def your_method  
  logger.debug "This is from debug"
  logger.info "This is from info"
end

68
2017-07-20 16:16



Wenn Sie verwenden möchten Rails.logger in einem einfachen alten Ruby-Objekt oder ServiceObject, dann müssen Sie es manuell hinzufügen:

class MyService
  def initialize(foo)
    @logger = Logger.new(STDOUT)
    @foo = foo
  end

  def call
    do_something
  end

  private

  def do_something
    @logger.debug { "do_something called! With #{@foo.class} class" }
  end
end

Ergebnis:

MyService.new(Bar.new).call
# [2018-01-27T00:17:22.167974 #57866] DEBUG -- : do_something called! With Bar class

0
2018-01-27 08:31