Ich verstehe, dass die IPython-Sitzung mit der Protokollierung beginnt, sodass basicConfig nicht funktioniert. Hier ist das Setup, das für mich funktioniert (ich wünschte, dies würde nicht so grob aussehen, da ich es für fast alle meine Notebooks verwenden möchte):
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)
Jetzt, wenn ich renne:
logging.error('hello!')
logging.debug('This is a debug message')
logging.info('this is an info message')
logging.warning('tbllalfhldfhd, warning.')
Ich erhalte eine "mylog.log" -Datei im selben Verzeichnis wie mein Notizbuch, die Folgendes enthält:
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.
Beachten Sie, dass beim erneuten Ausführen ohne Neustart der IPython-Sitzung doppelte Einträge in die Datei geschrieben werden, da jetzt zwei Dateihandler definiert sind