Mettre à jour 'source/logging/logging.md'

This commit is contained in:
fred 2018-11-14 10:50:12 +00:00
parent 20e7680f2c
commit 1eb53515c2
1 changed files with 27 additions and 1 deletions

View File

@ -23,4 +23,30 @@ LOGGING = {
},
},
}
```
```
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).