2014-08-29 2 views
0

J'utilise Thin et en essayant de déboguer un problème où le serveur léger se termine en raison d'une erreur que je regardais le journal mince. Malheureusement, le journal Thin n'a aucun horodatage. En regardant le code mince je trouve cela en mince/logging.rb:Pourquoi ne pas minces timestamps

# Simple formatter which only displays the message. 
# Taken from ActiveSupport 
class SimpleFormatter < Logger::Formatter 
    def call(severity, timestamp, progname, msg) 
    "#{String === msg ? msg : msg.inspect}\n" 
    end 
end 

Est-ce que quelqu'un sait pourquoi mince ne montre pas l'horodatage? Des suggestions pour un bon moyen d'ajouter des horodatages aux journaux minces sans modifier la bibliothèque elle-même?

Répondre

0

La création d'un fichier dans config/initializers et le patch singe du code mince a bien fonctionné pour moi. J'espère que ceci aide quelqu'un d'autre. Je suis toujours curieux de savoir pourquoi les auteurs Thin ont décidé d'exclure les horodatages.

J'ai créé le fichier config/initializers/thin_customization.rb avec le contenu suivant:

require 'logger' 

#monkey patch thin to add timestamps to logging 
module Thin 
    module Logging 
    class SimpleFormatter < Logger::Formatter 
     def call(severity, timestamp, progname, msg) 
     "#{timestamp} #{String === msg ? msg : msg.inspect}\n" 
     end 
    end 
    end 
end