Bonsoir,

Je ne comprends pas pourquoi le code suivant double les messages dans la console (c'est comme si le FileHandler écrivait aussi dans la log), ni pourquoi les messages sont affichés après le "FINI".

merci d'avance pour vos lumières

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
logfile= 'hello.log'
with open(logfile, 'w'):pass
import logging
logging.basicConfig(level=logging.NOTSET)
 
handler = logging.FileHandler(logfile)
handler.setLevel(logging.DEBUG)
console = logging.StreamHandler()
console.setLevel(logging.INFO)
 
lname= "oui" # __name__
logger = logging.getLogger(lname)
logger.addHandler(console)
logger.addHandler(handler)
 
logger.info('message1')   
logger = logging.getLogger(lname)
logger.info('message2')   
 
handler.close()
console.close()
print "FINI"
Résultat

Console:
FINI
message1
INFO:oui:message1
message2
INFO:oui:message2