diff --git a/source/logging/logging.md b/source/logging/logging.md index 1201d84..a690ea2 100644 --- a/source/logging/logging.md +++ b/source/logging/logging.md @@ -23,4 +23,30 @@ LOGGING = { }, }, } -``` \ No newline at end of file +``` + +Par exemple: + +```python +'loggers': { + 'mv': { # Parent + 'handlers': ['file'], + 'level': 'DEBUG', + }, + 'mv.models': { # Enfant + 'handlers': ['console'], + 'level': 'DEBUG', + 'propagate': True, + } +}, +``` + +Et dans le fichier `mv/models.py`, on a ceci: + +```python +logger = logging.getLogger(__name__) +logger.debug('helloworld'); +``` + +Le log sera écrit dans la console **ET** dans le fichier. +Par contre, si on retire l'attribut `propagate: True` (ou qu'on le change en `propagate: False`), le même code ci-dessus n'écrit que dans la console. Simplement parce que le log associé à un package considère par défaut ses enfants, alors que le log associé à un module pas. [Par exemple](https://docs.djangoproject.com/en/2.1/topics/logging/#examples). \ No newline at end of file