2013-07-19 4 views
39

Sto lavorando a un progetto Rails 4 e non riesco a far apparire nulla nel registro di sviluppo quando chiamo Rails.logger.debug "test" Ho provato a cercare online ma mi sento come se non avessi " Ho fatto molti progressi. Come dovrei fare per impostare un logger e dirgli di scrivere nel mio file di registro di sviluppo?Utilizzo del logger in Rails 4

Qualsiasi aiuto sarebbe molto apprezzato.

risposta

58

Penso che dovresti usarlo in questo modo nel tuo metodo. Acquista qui section 2.3

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

Se si desidera utilizzare Rails.logger in un oggetto Plain Old Ruby o ServiceObject, allora si avrà bisogno di includere manualmente:

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 

Risultato:

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