7
votes

Numéro de ligne de sortie dans le fichier journal des rails

du Guide de rails sur le débogage, j'ai trouvé que je peux personnaliser la sortie à mes fichiers journaux Utilisation de cette méthode simple: xxx

J'ai décidé utiliser ceci pour suivre la manière dont une variable change et passe par contrôle de flux.

Je voudrais pouvoir voir le numéro de ligne de mon code où enregistreur # débogage a été appelé. Quelque chose comme ceci: xxx


0 commentaires

3 Réponses :


7
votes
logger.debug "Person attributes hash: #{@person.attributes.inspect} from line #{__LINE__}"

2 commentaires

Voir ma première phrase. StackoverFlow Message Parser ne montre pas deux souligneurs de la ligne (les cache ou mange d'une manière ou d'une autre; peut-être fait partie du message entre les soulignements audacieux).


OK super! Merci! Je ne savais pas que tu voulais dire des analyses d'aussi. Alors, utilisez ceci: dpaste.com/159599



10
votes

Utilisez un décorateur sur l'enregistreur:

class LoggerDecorator
  def initialize(logger)
    @logger = logger
  end

  %w{debug info warn error fatal}.each do |method|
    eval(<<-eomethod)
      def #{method}(msg)
        @logger.#{method}(position) {msg}
      end
    eomethod
  end

  private
  def position
    caller.at(1).sub(%r{.*/},'').sub(%r{:in\s.*},'')
  end
end


0 commentaires

4
votes

AS des rails 5, ceci est maintenant cuit via: xxx

voir La documentation pour plus de


0 commentaires