Si je comprends bien, la session IPython démarre la journalisation, donc basicConfig ne fonctionne pas. Voici la configuration qui fonctionne pour moi (j'aimerais que cela n'ait pas l'air si grossier car je veux l'utiliser pour presque tous mes ordinateurs portables) :
import logging
logger = logging.getLogger()
fhandler = logging.FileHandler(filename='mylog.log', mode='a')
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fhandler.setFormatter(formatter)
logger.addHandler(fhandler)
logger.setLevel(logging.DEBUG)
Maintenant, quand je cours :
logging.error('hello!')
logging.debug('This is a debug message')
logging.info('this is an info message')
logging.warning('tbllalfhldfhd, warning.')
J'obtiens un fichier "mylog.log" dans le même répertoire que mon ordinateur portable qui contient :
2015-01-28 09:49:25,026 - root - ERROR - hello!
2015-01-28 09:49:25,028 - root - DEBUG - This is a debug message
2015-01-28 09:49:25,029 - root - INFO - this is an info message
2015-01-28 09:49:25,032 - root - WARNING - tbllalfhldfhd, warning.
Notez que si vous réexécutez cette commande sans redémarrer la session IPython, elle écrira des entrées en double dans le fichier puisqu'il y aura maintenant deux gestionnaires de fichiers définis.