7
votes

Comment changer le niveau de journal dans SINATRA

J'utilise ce code pour activer la journalisation dans mon application SINATRA:

logger.debug("Starting call. Params = #{params.inspect}")


0 commentaires

3 Réponses :


6
votes

Je suppose qu'il pourrait y avoir une meilleure façon, mais vous pouvez toujours faire quelque chose comme définir le niveau de journal dans un avant filtre: xxx


6 commentaires

Je pensais à la même chose, mais j'espère qu'il y a une meilleure façon que cela.


Si vous utilisez Rackup, je suppose que vous pouvez modifier votre enregistreur dans votre fichier .ru , comme l'enregistreur de SINATRA est en fait celui du rack.


Je n'ai pas pu trouver une meilleure solution, d'où accepter cette réponse.


Je cherche un moyen de définir ceci dans un bloc de configuration


@Davesag: Qu'en est-il de l'autre réponse, il semble prometteur pour votre cas?


Ok j'ai adapté la réponse de @ David-Faber et ça fonctionne. Postera ci-dessous.



28
votes

Vous pouvez définir le niveau de journal à l'aide de

def setup_custom_logger(builder)
  if logging.respond_to? :to_int
    builder.use Rack::Logger, logging
  else
    builder.use Rack::Logger
  end
end


0 commentaires

6
votes

Dans ma situation La seule façon dont je pouvais obtenir la journalisation de travailler de manière fiable était la suivante: (Exemple simplifié)

Tout d'abord, j'ai configuré le dossier de l'enregistreur et du journal comme suit: P>

configure :test do
  set :logging, Logger::ERROR
end

configure :development do
  set :logging, Logger::DEBUG
end

configure :production do
  set :logging, Logger::INFO
end


0 commentaires