Tengo entendido que la sesión de IPython inicia el registro, por lo que basicConfig no funciona. Aquí está la configuración que funciona para mí (desearía que esto no fuera tan asqueroso ya que quiero usarlo para casi todos mis portátiles):
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)
Ahora cuando corro:
logging.error('hello!')
logging.debug('This is a debug message')
logging.info('this is an info message')
logging.warning('tbllalfhldfhd, warning.')
Obtengo un archivo "mylog.log" en el mismo directorio que mi cuaderno que contiene:
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.
Tenga en cuenta que si vuelve a ejecutar esto sin reiniciar la sesión de IPython, escribirá entradas duplicadas en el archivo, ya que ahora habría dos controladores de archivos definidos