Python - Comment vider le journal? (django)

Je travaille avec Django-nonrel sur Google App Engine, qui m'oblige à utiliser la journalisation.debug() au lieu de print().

La "journalisation" module est fourni par Django, mais je vais avoir un moment difficile de l'utiliser au lieu de les imprimer().

Par exemple, si j'ai besoin de vérifier le contenu dans la variable x, je vais mettre

logging.debug('x is: %s' % x). Mais si le programme est en panne peu de temps après (sans chasse d'eau, le flux de données), alors il n'est jamais imprimé.

Donc pour le débogage, j'ai besoin de debug() pour être vidées avant que le programme des sorties en cas d'erreur, et ce n'est pas le cas.

  • pas de réponse à votre question, mais pourquoi voudriez-vous utiliser print de toute façon?!
  • Que voulez-vous dire exactement par "rinçage" le journal?
  • Espérons que l'exemple ci facilite la compréhension.
  • Je voudrais essayer quelque chose comme le AdminEmailHandler journalisation gestionnaire pour des cas spécifiques comme votre exemple. Un enregistrement de base de données gestionnaire serait le meilleur choix, vous ne savez pas si il y en a Sentry alternative là-bas.
  • Peut-être pas la bonne, mais cela fonctionne pour moi.Espérons que cela aide quelqu'un. J'ai essayé en utilisant la méthode flush (), mais ne fonctionne pas. Comme je l'ai sortie de mon application en utilisant sys.sortie(..), j'ai créé une méthode wrapper(exit()) autour d'elle...qui attendaient 1 seconde(time.sleep(1)) avant de quitter l'Application. Je suis également de contracter une erreur inattendue et appelant exit() méthode. Ce délai semble flushout en attente des messages de log
InformationsquelleAutor Rucent88 | 2012-11-01