2017-10-22, 20:06
Hier ein Python-Codeschnipsel, den man für eigene Logging-Projekte nutzen kann. Ziel ist es, die Logging-Informationen sowohl in eine Datei als auch nach stdout zu schreiben.
# -*- coding: utf-8 -*-
import logging # Logging
import time # Time
import sys
# Logger in Datei und auf die Konsole
logger = logging.getLogger("Logfile")
logger.propagate = False
logger.setLevel(logging.DEBUG)
fileHandler = logging.FileHandler(logger.name + ".log", mode='w')
fileHandler_format = logging.Formatter('%(asctime)s_%(levelname)s: %(message)s', datefmt='%H:%M:%S')
fileHandler.setFormatter(fileHandler_format)
consoleHandler = logging.StreamHandler(sys.stdout)
consoleHandler.setFormatter(fileHandler_format)
# Remove existing loggers
if logger.handlers:
for handler in logger.handlers:
logger.removeHandler(handler)
logger.addHandler(fileHandler)
logger.addHandler(consoleHandler)
logger.info('Hello')
logger.warning('World')
logger.error('Foobar')
logging.shutdown() |
# -*- coding: utf-8 -*-
import logging # Logging
import time # Time
import sys
# Logger in Datei und auf die Konsole
logger = logging.getLogger("Logfile")
logger.propagate = False
logger.setLevel(logging.DEBUG)
fileHandler = logging.FileHandler(logger.name + ".log", mode='w')
fileHandler_format = logging.Formatter('%(asctime)s_%(levelname)s: %(message)s', datefmt='%H:%M:%S')
fileHandler.setFormatter(fileHandler_format)
consoleHandler = logging.StreamHandler(sys.stdout)
consoleHandler.setFormatter(fileHandler_format)
# Remove existing loggers
if logger.handlers:
for handler in logger.handlers:
logger.removeHandler(handler)
logger.addHandler(fileHandler)
logger.addHandler(consoleHandler)
logger.info('Hello')
logger.warning('World')
logger.error('Foobar')
logging.shutdown()
Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined.
Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.
More Posts - Website