web-dev-qa-db-fra.com

Utilisation de l'enregistreur dans Rails 4

Je travaille sur un projet Rails 4 et je n'arrive pas à faire apparaître quoi que ce soit dans mon journal de développement lorsque j'appelle Rails.logger.debug "test". J'ai essayé d'effectuer une recherche en ligne, mais je sens que je n'ai pas beaucoup progressé. Comment pourrais-je configurer un enregistreur et lui dire d'écrire dans mon fichier journal de développement?

Toute aide serait grandement appréciée. 

48
Michael Liu

Je pense que vous devriez l'utiliser comme ceci dans votre méthode. Commander section 2.3 ici

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

Rails a un mécanisme de journalisation facile

depuis le contrôleur/modèle

logger.info 'some info'
logger.error 'some error'

etc.

Depuis les sections Hors de ces rails, dans les objets Plain Old Ruby tels que les objets de service, les objets de bibliothèque, vous pouvez facilement accéder au même enregistreur par défaut

pour rails <3

logger = Rails_DEFAULT_LOGGER
logger.info 'some info'
logger.error 'some error'

pour rails> 3

logger = Rails.logger
logger.info 'some info'
logger.error 'some error'
2
Haseeb Eqx

Si vous souhaitez utiliser Rails.logger dans un objet Plain Old Ruby ou ServiceObject, vous devez l'inclure manuellement:

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

Résultat:

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

Si aucun journal ne s'affiche dans votre fichier journal, vérifiez à quelle valeur log_level a été défini dans votre fichier d'environnements (config/environnements/development.rb, ...). ) ou

config.log_level = :debug

devrait être réglé. Les autres valeurs sont:

:debug, :info, :warn, :error, :fatal, :unknown

Plus d'informations ici: https://guides.rubyonrails.org/debugging_Rails_applications.html } _ Section 2.2 Niveaux de journalisation

0
Ymox