6
votes

Comment faire des rails Ajouter des numéros de ligne / Time-timbres pour enregistrer les messages?

J'utilise queue -f pour afficher le fichier journal lors du développement de l'application My Rails. Il montre les messages du journal (en couleur! :), ce qui est génial.

Mais avec tant d'informations dans la console de 80 largeur, il devient difficile de suivre où un certain "ensemble" de messages de journal a commencé quand, disons, j'ai cliqué sur un bouton pour obtenir une ressource.

Il serait plus facile s'il y avait un numéro de ligne ou même un horodatage au début de chaque message de journal / ligne. De cette façon, je me souviens que je dois commencer à regarder le journal "après la ligne de ligne 2365" ou "après 2010/10/10 23: 33: 23: 45".

est-ce possible à faire? Y a-t-il une option interne de rails pour cela?


0 commentaires

3 Réponses :


3
votes

Si vous vouliez avoir un timbre horaire:

class ApplicationController < ActionController::Base
  # ...
  before_filter :log_tracker

  def log_tracker
    Rails.logger.add(1, "Log Date: #{DateTime.now}")
  end
end


0 commentaires

1
votes

merci @scaney.

J'ai trouvé une solution ici .

J'ai modifié ce code pour ajouter mes propres faits saillants de coloration (pour le développement seulement bien sûr!) Et maintenant, je peux voir des choses comme des "paramètres" en jaune dans la console et je suis très heureux maintenant!

Si quelqu'un est intéressé, voici le code que j'ai mis à la fin de environnement.rb . Voici ma mise en œuvre actuelle (sale). Va probablement résoudre ce problème plus tard (peut-être faire un joyau, mais pour l'instant, cela sert moi fine)

AVERTISSEMENT

< Strong> Le code sale suit! Utilisez à vos risques et périls! xxx


2 commentaires

De plus, si vous surchargez la classe, vous pourrez peut-être modifier la manipulation du fichier interne pour vous permettre d'obtenir le nombre de lignes au moment de la rédaction, je ne sais pas si cela fonctionnerait, juste une pensée


Oui, il va probablement regarder dans l'enregistreur plus en détail un jour; en ce moment je voulais juste un quickfix



9
votes

Pourquoi ne pas simplement éditer les étiquettes de journal de votre environnement

Development.rb xxx


3 commentaires

Si vous souhaitez le numéro de ligne de la source, vous pouvez ajouter quelque chose comme ceci: config.log_tags [lambda {| r | __Line__}] . Pour incrémenter le numéro de ligne dans le fichier journal, vous pouvez faire quelque chose comme ceci: config.log_tags [lambda {| r | @Rails_log_line_number = (@ rails_log_log_line_number || 0) +1}]


Cela vous donnerait le "l'horodatage au début de la demande", pas "l'horodatage actuel".


Rails 4.1.2 Requiert '=', config.log_tags = [Lambda {| R | Datetime.now}]