Connaissances minimales pour démarrer avec le module de journalisation Python

Connaissances minimales pour démarrer avec le module de journalisation Python

Cet article vous montrera comment démarrer avec le module de journalisation Python pour le développement d'applications avec un minimum de connaissances. Puisque nous n'avons compilé que les connaissances minimales qui peuvent être utilisées immédiatement dans le développement, nous espérons que vous pourrez les utiliser comme point de départ tout en complétant les informations manquantes.

Fonctions de base de la journalisation

C'est comme une instruction d'impression (mais ne l'utilisez pas de cette façon car la journalisation n'a pas de sens)

import logging
logging.warning( 'Watch out!') # Imprimer un message sur la console
logging.info( 'I said so') # Le niveau de journalisation par défaut est un avertissement, donc rien ne doit être envoyé à la console

Connaissances et paramètres minimaux pour utiliser la journalisation dans le développement d'applications

logger

Modèle d'utilisation de la journalisation

root
├──your_app.py
├──logging.conf
└──logging_dev.conf
root
├──app
│└──your_app.py
└──conf
    ├──logging.conf
    └──logging_dev.conf

your_app.py


import logging

# read the conf file
logging.config.fileConfig('logging_dev.conf', disable_existing_loggers=False)

# create logger
logger = logging.getLogger('app')

def main():
    try:
        1/0  # ZeroDivisionError
        # your code goes here   
    except Exception as e:
        logger.exception(e.args)


if __name__ == '__main__':
    main()

fichier de configuration de journalisation

point

Exemple de fichier de configuration de fonctionnement (notez que le niveau de journal est INFO)

logging-prod.conf


[loggers]
keys=root,app

[formatters]
keys=default

[handlers]
keys=frotate,default

[formatter_default]
format=%(asctime)s %(levelname)s %(message)s
datefmt=%Y/%m/%d %H:%M:%S

[handler_frotate]
class=handlers.TimedRotatingFileHandler
formatter=default
args=('logs/logger.log', 'W0', 1, 100)

[handler_default]
class=StreamHandler
formatter=default
args=(sys.stdout,)

[logger_app]
level=INFO
handlers=frotate
qualname=app

[logger_root]
level=INFO
handlers=default

Exemple de fichier de configuration de développement (notez que le niveau de journalisation est NOTSET et est plus bruyant que DEBUG)

logging-dev.conf



[loggers]
keys=root,app

[formatters]
keys=default

[handlers]
keys=frotate,default

[formatter_default]
format=%(asctime)s %(levelname)s %(message)s
datefmt=%Y/%m/%d %H:%M:%S

[handler_frotate]
class=handlers.TimedRotatingFileHandler
formatter=default
args=('logs/logger_dev.log', 'W0', 1, 100)

[handler_default]
class=StreamHandler
formatter=default
args=(sys.stdout,)

[logger_app]
level=NOTSET
handlers=frotate
qualname=app

[logger_root]
level=NOTSET
handlers=default

Résumé

J'ai brièvement présenté l'utilisation minimale du module de journalisation. Si vous avez besoin de plus de détails, veuillez vous référer aux documents introduits dans [Référence](voir #).

référence

Recommended Posts

Connaissances minimales pour démarrer avec le module de journalisation Python
Lien pour commencer avec python
Comment démarrer avec Python
Le moyen le plus simple de démarrer avec Django
Zubu amateur veut démarrer Python
Commencez avec Python! ~ ② Grammaire ~
J'ai essayé de démarrer avec le script python de blender_Part 01
J'ai essayé de démarrer avec le script python de blender_Partie 02
Comment démarrer le projet Python en 2020 (Windows WSL et Mac commun)
Commencez avec Python! ~ ① Construction de l'environnement ~
Obtenez la météo avec les requêtes Python
Obtenez la météo avec les requêtes Python 2
Comment obtenir la version Python
Comment démarrer avec Scrapy
Comment démarrer avec Django
Comment entrer dans l'environnement de développement Python avec Vagrant
Démarrez avec Python avec Blender
[Introduction à Python] Comment obtenir des données avec la fonction listdir
Récupérez la source de la page à charger indéfiniment avec python.
Exécutez le programme sans créer d'environnement Python! !! (Comment démarrer avec Google Colaboratory)
Premiers pas avec le framework Python Django sur Mac OS X
[Python] Un mémo que j'ai essayé de démarrer avec asyncio
J'ai essayé de démarrer avec Bitcoin Systre le week-end
Le moyen le plus rapide d'obtenir régulièrement des images de caméra avec opencv de python
PhytoMine-I a essayé d'obtenir les informations génétiques de la plante avec Python
Notes d'étape pour démarrer avec django
Premiers pas avec python3 # 1 Apprenez les connaissances de base
J'ai essayé de commencer avec Hy
[Python] Récupère le nom de la variable avec str
Premiers pas avec l'outil de documentation Sphinx
Commençons avec TopCoder en Python (version 2020)
Comment les débutants en Python commencent avec Progete
La route de la compilation vers Python 3 avec Thrift
[Blender x Python] Commençons avec Blender Python !!
[Python] Pour démarrer avec Python, vous devez d'abord vous assurer que vous pouvez utiliser Python correctement.
Comment obtenir la différence de date et d'heure en secondes avec Python
J'ai essayé d'obtenir le code d'authentification de l'API Qiita avec Python.
J'obtiens une erreur Python No module nommée'encodings 'avec la commande aws
J'ai essayé d'obtenir les informations sur le film de l'API TMDb avec Python
Jeu à la main en Python (commençons avec AtCoder?)
[Python] Récupérez les fichiers dans le dossier avec Python
Le moyen le plus simple de synthétiser la voix avec python
Essayez de résoudre le diagramme homme-machine avec Python
Introduction à Tornado (1): Framework Web Python démarré avec Tornado
Spécifiez le fichier exécutable Python à utiliser avec virtualenv
Dites bonjour au monde avec Python avec IntelliJ
J'ai essayé d'obtenir des données CloudWatch avec Python
Le moyen le plus simple d'utiliser OpenCV avec python
Spécification de la destination de chargement du module avec GAE python
Introduction à Python avec Atom (en route)
Comment obtenir les fichiers dans le dossier [Python]
[Python] Une compréhension approximative du module de journalisation
Notes de connaissances nécessaires pour comprendre le framework Python
Matériel à lire lors de la mise en route de Python
[Cloud102] # 1 Premiers pas avec Python (première partie des premiers pas de Python)
[Configuration minimale] Utilisez le module oreiller de python pour synthétiser les caractères "100 yens" avec l'image du thé au lait de Tapioca.
Script Python pour obtenir des informations de note avec REAPER