From 1eb53515c24ba0a964d96da2579b91fd48c10403 Mon Sep 17 00:00:00 2001 From: fred Date: Wed, 14 Nov 2018 10:50:12 +0000 Subject: [PATCH] =?UTF-8?q?Mettre=20=C3=A0=20jour=20'source/logging/loggin?= =?UTF-8?q?g.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/logging/logging.md | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) 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