189 votes

Étendre la journalisation Python standard pour inclure le numéro de ligne où une méthode de journalisation a été appelée

Est-il possible de décorer / étendre en quelque sorte le système de journalisation standard Python, de sorte que, lorsqu'une méthode de journalisation est invoquée, elle enregistre également le fichier et le numéro de ligne où elle a été invoquée ou peut-être la méthode qui l'a invoquée.

340voto

Seb Points 5120

Bien sûr, vérifiez formateurs dans l'exploitation forestière docs. Plus précisément le lineno et les variables de chemin d'accès.

%(pathname)s chemin d'accès Complet du fichier source où l'enregistrement d'appel a été émis(si disponible).

%(filename)s nom de fichier portion de chemin.

%(module)s Module (nom de la partie du nom de fichier).

%(funcName)s Nom de la fonction contenant l'enregistrement d'appel.

%(lineno)d Source numéro de ligne où l'enregistrement d'appel a été émis (si disponible).

Ressemble à quelque chose comme ceci:

formatter = logging.Formatter('[%(asctime)s] p%(process)s {%(pathname)s:%(lineno)d} %(levelname)s - %(message)s','%m-%d %H:%M:%S')

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X