Module Logging Python
Le module logging vous permet d’enregistrer des messages debug, info, warning, error et exception de manière cohérente.
import logging
Utilisez logging à la place de print() lorsque les messages ont des niveaux d’importance différents, ou si vous souhaitez plus tard les envoyer vers un fichier.
Configuration de base
basicConfig configure le logger par défaut.
import logging
logging.basicConfig(level=logging.INFO)
logging.info('Application started')
logging.warning('Low disk space')
INFO:root:Application started
WARNING:root:Low disk space
Les messages situés sous le niveau configuré sont ignorés :
import logging
logging.basicConfig(level=logging.WARNING)
logging.info('Hidden message')
logging.warning('Visible message')
WARNING:root:Visible message
Créer un logger nommé
Les loggers nommés sont utiles dans les applications plus grandes.
import logging
logger = logging.getLogger('app.users')
logger.setLevel(logging.INFO)
print(logger.name)
app.users
Formater les messages
Vous pouvez personnaliser le format de sortie.
import logging
logging.basicConfig(
level=logging.INFO,
format='%(levelname)s:%(name)s:%(message)s',
)
logger = logging.getLogger('app')
logger.info('Ready')
INFO:app:Ready
Journaliser les exceptions
logger.exception enregistre automatiquement la traceback à l’intérieur d’un bloc except.
import logging
logging.basicConfig(level=logging.ERROR)
logger = logging.getLogger(__name__)
try:
1 / 0
except ZeroDivisionError:
logger.exception('Calculation failed')
ERROR:__main__:Calculation failed
Traceback (most recent call last):
...
ZeroDivisionError: division by zero