Mettre à jour 'source/logging/logging.md'
This commit is contained in:
parent
20e7680f2c
commit
1eb53515c2
|
@ -24,3 +24,29 @@ 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).
|
Loading…
Reference in New Issue