Python Set Logging Level For All Loggers Code Example


Example 1: python logging to file

import logging import sys  logger = logging.getLogger() logger.setLevel(logging.INFO) formatter = logging.Formatter('%(asctime)s | %(levelname)s | %(message)s',                                '%m-%d-%Y %H:%M:%S')  stdout_handler = logging.StreamHandler(sys.stdout) stdout_handler.setLevel(logging.DEBUG) stdout_handler.setFormatter(formatter)  file_handler = logging.FileHandler('logs.log') file_handler.setLevel(logging.DEBUG) file_handler.setFormatter(formatter)  logger.addHandler(file_handler) logger.addHandler(stdout_handler)

Example 2: pythong logging logger to string

import logging try:     from cStringIO import StringIO      # Python 2 except ImportError:     from io import StringIO  class LevelFilter(logging.Filter):     def __init__(self, levels):         self.levels = levels      def filter(self, record):         return record.levelno in self.levels  log_stream = StringIO()     logging.basicConfig(stream=log_stream, level=logging.NOTSET) logging.getLogger().addFilter(LevelFilter((logging.INFO, logging.WARNING, logging.ERROR)))  logging.info('hello world') logging.warning('be careful!') logging.debug("you won't see this") logging.error('you will see this') logging.critical('critical is no longer logged!')  print(log_stream.getvalue())

Comments

Popular posts from this blog

Are Regular VACUUM ANALYZE Still Recommended Under 9.1?

Can Feynman Diagrams Be Used To Represent Any Perturbation Theory?