Python logging.StreamHandler() Examples
The following are 30 code examples for showing how to use logging.StreamHandler(). These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example.
You may check out the related API usage on the sidebar.
You may also want to check out all available functions/classes of the module
logging
, or try the search function
.
Example 1
Project: incubator-spot Author: apache File: utilities.py License: Apache License 2.0 | 9 votes |
def get_logger(cls,logger_name,create_file=False): # create logger for prd_ci log = logging.getLogger(logger_name) log.setLevel(level=logging.INFO) # create formatter and add it to the handlers formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') if create_file: # create file handler for logger. fh = logging.FileHandler('SPOT.log') fh.setLevel(level=logging.DEBUG) fh.setFormatter(formatter) # reate console handler for logger. ch = logging.StreamHandler() ch.setLevel(level=logging.DEBUG) ch.setFormatter(formatter) # add handlers to logger. if create_file: log.addHandler(fh) log.addHandler(ch) return log
Example 2
Project: Pytorch-Project-Template Author: moemen95 File: config.py License: MIT License | 9 votes |
def setup_logging(log_dir): log_file_format = "[%(levelname)s] - %(asctime)s - %(name)s - : %(message)s in %(pathname)s:%(lineno)d" log_console_format = "[%(levelname)s]: %(message)s" # Main logger main_logger = logging.getLogger() main_logger.setLevel(logging.INFO) console_handler = logging.StreamHandler() console_handler.setLevel(logging.INFO) console_handler.setFormatter(Formatter(log_console_format)) exp_file_handler = RotatingFileHandler('{}exp_debug.log'.format(log_dir), maxBytes=10**6, backupCount=5) exp_file_handler.setLevel(logging.DEBUG) exp_file_handler.setFormatter(Formatter(log_file_format)) exp_errors_file_handler = RotatingFileHandler('{}exp_error.log'.format(log_dir), maxBytes=10**6, backupCount=5) exp_errors_file_handler.setLevel(logging.WARNING) exp_errors_file_handler.setFormatter(Formatter(log_file_format)) main_logger.addHandler(console_handler) main_logger.addHandler(exp_file_handler) main_logger.addHandler(exp_errors_file_handler)
Example 3
Project: drydock Author: airshipit File: conftest.py License: Apache License 2.0 | 8 votes |
def setup_logging(): # Setup root logger logger = logging.getLogger('drydock') logger.setLevel('DEBUG') ch = logging.StreamHandler() formatter = logging.Formatter( '%(asctime)s - %(levelname)s - %(filename)s:%(funcName)s - %(message)s' ) ch.setFormatter(formatter) logger.addHandler(ch) # Specalized format for API logging logger = logging.getLogger('drydock.control') logger.propagate = False formatter = logging.Formatter( "%(asctime)s - %(levelname)s - %(user)s - %(req_id)s" " - %(external_ctx)s - %(end_user)s - %(message)s" ) ch = logging.StreamHandler() ch.setFormatter(formatter) logger.addHandler(ch)
Example 4
Project: mlbv Author: kmac File: util.py License: GNU General Public License v3.0 | 7 votes |
def init_logging(log_file=None, append=False, console_loglevel=logging.INFO): """Set up logging to file and console.""" if log_file is not None: if append: filemode_val = 'a' else: filemode_val = 'w' logging.basicConfig(level=logging.DEBUG, format="%(asctime)s %(levelname)s %(threadName)s %(name)s %(message)s", # datefmt='%m-%d %H:%M', filename=log_file, filemode=filemode_val) # define a Handler which writes INFO messages or higher to the sys.stderr console = logging.StreamHandler() console.setLevel(console_loglevel) # set a format which is simpler for console use formatter = logging.Formatter("%(message)s") console.setFormatter(formatter) # add the handler to the root logger logging.getLogger('').addHandler(console) global LOG LOG = logging.getLogger(__name__)
Example 5
Project: incubator-spot Author: apache File: utils.py License: Apache License 2.0 | 6 votes |
def get_logger(cls, logger_name, create_file=False): # create logger for prd_ci log = logging.getLogger(logger_name) log.setLevel(level=logging.INFO) # create formatter and add it to the handlers formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') if create_file: # create file handler for logger. fh = logging.FileHandler('oa.log') fh.setLevel(level=logging.DEBUG) fh.setFormatter(formatter) # reate console handler for logger. ch = logging.StreamHandler() ch.setLevel(level=logging.DEBUG) ch.setFormatter(formatter) # add handlers to logger. if create_file: log.addHandler(fh) log.addHandler(ch) return log
Example 6
Project: iSDX Author: sdn-ixp File: logServer.py License: Apache License 2.0 | 6 votes |
def getLogger(fname=None): format='%(asctime)s:%(process)d:%(threadName)s:%(levelname)s:%(name)s:%(pathname)s %(lineno)d:%(message)s' formatter = MyFormatter(format) logger = logging.getLogger('sdx') if fname: fh = logging.FileHandler(fname) fh.setFormatter(formatter) logger.addHandler(fh) ch = logging.StreamHandler(stream=sys.stdout) ch.setFormatter(formatter) logger.addHandler(ch) return logger
Example 7
Project: neural-fingerprinting Author: StephanZheng File: utils.py License: BSD 3-Clause "New" or "Revised" License | 6 votes |
def create_logger(name): """ Create a logger object with the given name. If this is the first time that we call this method, then initialize the formatter. """ base = logging.getLogger("cleverhans") if len(base.handlers) == 0: ch = logging.StreamHandler() formatter = logging.Formatter('[%(levelname)s %(asctime)s %(name)s] ' + '%(message)s') ch.setFormatter(formatter) base.addHandler(ch) return base
Example 8
Project: CAMISIM Author: CAMI-challenge File: loggingwrapper.py License: Apache License 2.0 | 6 votes |
def add_log_stream(self, stream=sys.stderr, level=logging.INFO): """ Add a stream where messages are outputted to. @param stream: stderr/stdout or a file stream @type stream: file | FileIO | StringIO @param level: minimum level of messages to be logged @type level: int | long @return: None @rtype: None """ assert self.is_stream(stream) # assert isinstance(stream, (file, io.FileIO)) assert level in self._levelNames err_handler = logging.StreamHandler(stream) err_handler.setFormatter(self.message_formatter) err_handler.setLevel(level) self._logger.addHandler(err_handler)
Example 9
Project: CAMISIM Author: CAMI-challenge File: loggingwrapper.py License: Apache License 2.0 | 6 votes |
def add_log_stream(self, stream=sys.stderr, level=logging.INFO): """ Add a stream where messages are outputted to. @param stream: stderr/stdout or a file stream @type stream: file | FileIO | StringIO @param level: minimum level of messages to be logged @type level: int | long @return: None @rtype: None """ assert self.is_stream(stream) # assert isinstance(stream, (file, io.FileIO)) assert level in self._levelNames err_handler = logging.StreamHandler(stream) err_handler.setFormatter(self.message_formatter) err_handler.setLevel(level) self._logger.addHandler(err_handler)
Example 10
Project: jsonrpcclient Author: bcb File: client.py License: MIT License | 6 votes |
def basic_logging(self) -> None: """ Call this on the client object to create log handlers to output request and response messages. """ # Request handler if len(request_log.handlers) == 0: request_handler = logging.StreamHandler() request_handler.setFormatter( logging.Formatter(fmt=self.DEFAULT_REQUEST_LOG_FORMAT) ) request_log.addHandler(request_handler) request_log.setLevel(logging.INFO) # Response handler if len(response_log.handlers) == 0: response_handler = logging.StreamHandler() response_handler.setFormatter( logging.Formatter(fmt=self.DEFAULT_RESPONSE_LOG_FORMAT) ) response_log.addHandler(response_handler) response_log.setLevel(logging.INFO)
Example 11
Project: dynamic-training-with-apache-mxnet-on-aws Author: awslabs File: benchmark.py License: Apache License 2.0 | 6 votes |
def setup_logging(log_loc): if os.path.exists(log_loc): shutil.move(log_loc, log_loc + "_" + str(int(os.path.getctime(log_loc)))) os.makedirs(log_loc) log_file = '{}/benchmark.log'.format(log_loc) LOGGER = logging.getLogger('benchmark') LOGGER.setLevel(logging.INFO) formatter = logging.Formatter('%(asctime)s %(levelname)s:%(name)s %(message)s') file_handler = logging.FileHandler(log_file) console_handler = logging.StreamHandler() file_handler.setFormatter(formatter) console_handler.setFormatter(formatter) LOGGER.addHandler(file_handler) LOGGER.addHandler(console_handler) return LOGGER
Example 12
Project: dynamic-training-with-apache-mxnet-on-aws Author: awslabs File: utils.py License: Apache License 2.0 | 6 votes |
def logging_config(name=None, level=logging.DEBUG, console_level=logging.DEBUG): if name is None: name = inspect.stack()[1][1].split('.')[0] folder = os.path.join(os.getcwd(), name) if not os.path.exists(folder): os.makedirs(folder) logpath = os.path.join(folder, name + ".log") print("All Logs will be saved to %s" %logpath) logging.root.setLevel(level) formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') logfile = logging.FileHandler(logpath) logfile.setLevel(level) logfile.setFormatter(formatter) logging.root.addHandler(logfile) #TODO Update logging patterns in other files logconsole = logging.StreamHandler() logconsole.setLevel(console_level) logconsole.setFormatter(formatter) logging.root.addHandler(logconsole) return folder
Example 13
Project: dynamic-training-with-apache-mxnet-on-aws Author: awslabs File: test_conv.py License: Apache License 2.0 | 6 votes |
def exec_mnist(model, train_dataiter, val_dataiter): # print logging by default logging.basicConfig(level=logging.DEBUG) console = logging.StreamHandler() console.setLevel(logging.DEBUG) logging.getLogger('').addHandler(console) model.fit(X=train_dataiter, eval_data=val_dataiter) logging.info('Finish fit...') prob = model.predict(val_dataiter) logging.info('Finish predict...') val_dataiter.reset() y = np.concatenate([batch.label[0].asnumpy() for batch in val_dataiter]).astype('int') py = np.argmax(prob, axis=1) acc1 = float(np.sum(py == y)) / len(y) logging.info('final accuracy = %f', acc1) assert(acc1 > 0.94) # run as a script
Example 14
Project: dynamic-training-with-apache-mxnet-on-aws Author: awslabs File: test_dtype.py License: Apache License 2.0 | 6 votes |
def test_cifar10(): # print logging by default logging.basicConfig(level=logging.DEBUG) console = logging.StreamHandler() console.setLevel(logging.DEBUG) logging.getLogger('').addHandler(console) kv = mx.kvstore.create("local") # test float32 input (train, val) = get_iterator_float32(kv) run_cifar10(train, val, use_module=False) run_cifar10(train, val, use_module=True) # test legecay tuple in provide_data and provide_label run_cifar10(CustomDataIter(train), CustomDataIter(val), use_module=False) run_cifar10(CustomDataIter(train), CustomDataIter(val), use_module=True) # test uint8 input (train, val) = get_iterator_uint8(kv) run_cifar10(train, val, use_module=False) run_cifar10(train, val, use_module=True)
Example 15
Project: sawtooth-cookiejar Author: danintel File: cookiejar.py License: Apache License 2.0 | 6 votes |
def create_console_handler(verbose_level): '''Setup console logging.''' del verbose_level # unused clog = logging.StreamHandler() formatter = ColoredFormatter( "%(log_color)s[%(asctime)s %(levelname)-8s%(module)s]%(reset)s " "%(white)s%(message)s", datefmt="%H:%M:%S", reset=True, log_colors={ 'DEBUG': 'cyan', 'INFO': 'green', 'WARNING': 'yellow', 'ERROR': 'red', 'CRITICAL': 'red', }) clog.setFormatter(formatter) clog.setLevel(logging.DEBUG) return clog
Example 16
Project: PickTrue Author: winkidney File: logger.py License: MIT License | 6 votes |
def __get_logger(name): __log_level = logging.INFO if "--debug-%s" % name in sys.argv: __log_level = logging.DEBUG fmt = "%(levelname)s - %(asctime)-15s - %(filename)s - line %(lineno)d --> %(message)s" date_fmt = "%a %d %b %Y %H:%M:%S" formatter = logging.Formatter(fmt, date_fmt) handler = logging.StreamHandler() handler.setFormatter(formatter) logger = logging.getLogger(name) logger.addHandler( handler ) logger.setLevel(level=__log_level) return logger
Example 17
Project: lichess-bot Author: ShailChoksi File: ColorLogger.py License: GNU Affero General Public License v3.0 | 6 votes |
def enable_color_logging(debug_lvl=logging.DEBUG): if platform.system() == 'Windows': # Windows does not support ANSI escapes and we are using API calls to set the console color logging.StreamHandler.emit = add_coloring_to_emit_windows(logging.StreamHandler.emit) else: # all non-Windows platforms are supporting ANSI escapes so we use them logging.StreamHandler.emit = add_coloring_to_emit_ansi(logging.StreamHandler.emit) root = logging.getLogger() root.setLevel(debug_lvl) ch = logging.StreamHandler(sys.stdout) ch.setLevel(debug_lvl) # FORMAT from https://github.com/xolox/python-coloredlogs FORMAT = '%(asctime)s %(name)s[%(process)d] \033[1m%(levelname)s\033[0m %(message)s' formatter = logging.Formatter(FORMAT, "%Y-%m-%d %H:%M:%S") ch.setFormatter(formatter)
Example 18
Project: dogTorch Author: ehsanik File: main.py License: MIT License | 6 votes |
def setup_logging(filepath, verbose): logFormatter = logging.Formatter( '%(levelname)s %(asctime)-20s:\t %(message)s') rootLogger = logging.getLogger() if verbose: rootLogger.setLevel(logging.DEBUG) else: rootLogger.setLevel(logging.INFO) logging.getLogger('PIL').setLevel(logging.WARNING) # Setup the logger to write into file fileHandler = logging.FileHandler(filepath) fileHandler.setFormatter(logFormatter) rootLogger.addHandler(fileHandler) # Setup the logger to write into stdout consoleHandler = logging.StreamHandler(sys.stdout) consoleHandler.setFormatter(logFormatter) rootLogger.addHandler(consoleHandler)
Example 19
Project: InsightAgent Author: insightfinder File: getmetrics_sysdig.py License: Apache License 2.0 | 6 votes |
def set_logger_config(level): """Set up logging according to the defined log level""" # Get the root logger logger_obj = logging.getLogger(__name__) # Have to set the root logger level, it defaults to logging.WARNING logger_obj.setLevel(level) # route INFO and DEBUG logging to stdout from stderr logging_handler_out = logging.StreamHandler(sys.stdout) logging_handler_out.setLevel(logging.DEBUG) # create a logging format formatter = logging.Formatter('%(asctime)s - %(name)s - %(process)d - %(threadName)s - %(levelname)s - %(message)s') logging_handler_out.setFormatter(formatter) logger_obj.addHandler(logging_handler_out) logging_handler_err = logging.StreamHandler(sys.stderr) logging_handler_err.setLevel(logging.WARNING) logger_obj.addHandler(logging_handler_err) return logger_obj
Example 20
Project: InsightAgent Author: insightfinder File: getmetrics_cadvisor.py License: Apache License 2.0 | 6 votes |
def set_logger_config(level): """ set up logging according to the defined log level """ # Get the root logger logger_obj = logging.getLogger(__name__) # Have to set the root logger level, it defaults to logging.WARNING logger_obj.setLevel(level) # route INFO and DEBUG logging to stdout from stderr logging_handler_out = logging.StreamHandler(sys.stdout) logging_handler_out.setLevel(logging.DEBUG) # create a logging format formatter = logging.Formatter('%(asctime)s - %(name)s - %(process)d - %(threadName)s - %(levelname)s - %(message)s') logging_handler_out.setFormatter(formatter) logger_obj.addHandler(logging_handler_out) logging_handler_err = logging.StreamHandler(sys.stderr) logging_handler_err.setLevel(logging.WARNING) logger_obj.addHandler(logging_handler_err) return logger_obj
Example 21
Project: InsightAgent Author: insightfinder File: getmetrics_hadoop.py License: Apache License 2.0 | 6 votes |
def set_logger_config(level): """Set up logging according to the defined log level""" # Get the root logger logger_obj = logging.getLogger(__name__) # Have to set the root logger level, it defaults to logging.WARNING logger_obj.setLevel(level) # route INFO and DEBUG logging to stdout from stderr logging_handler_out = logging.StreamHandler(sys.stdout) logging_handler_out.setLevel(logging.DEBUG) # create a logging format formatter = logging.Formatter('%(asctime)s - %(name)s - %(process)d - %(threadName)s - %(levelname)s - %(message)s') logging_handler_out.setFormatter(formatter) logger_obj.addHandler(logging_handler_out) logging_handler_err = logging.StreamHandler(sys.stderr) logging_handler_err.setLevel(logging.WARNING) logger_obj.addHandler(logging_handler_err) return logger_obj
Example 22
Project: InsightAgent Author: insightfinder File: getlogs_k8s.py License: Apache License 2.0 | 6 votes |
def set_logger_config(level): """ set up logging according to the defined log level """ # Get the root logger logger_obj = logging.getLogger(__name__) # Have to set the root logger level, it defaults to logging.WARNING logger_obj.setLevel(level) # route INFO and DEBUG logging to stdout from stderr logging_handler_out = logging.StreamHandler(sys.stdout) logging_handler_out.setLevel(logging.DEBUG) # create a logging format formatter = logging.Formatter('%(asctime)s [pid %(process)d] %(levelname)-8s %(module)s.%(funcName)s():%(lineno)d %(message)s') logging_handler_out.setFormatter(formatter) logger_obj.addHandler(logging_handler_out) logging_handler_err = logging.StreamHandler(sys.stderr) logging_handler_err.setLevel(logging.WARNING) logger_obj.addHandler(logging_handler_err) return logger_obj
Example 23
Project: InsightAgent Author: insightfinder File: getlogs_spark.py License: Apache License 2.0 | 6 votes |
def set_logger_config(level): """ set up logging according to the defined log level """ # Get the root logger logger_obj = logging.getLogger(__name__) # Have to set the root logger level, it defaults to logging.WARNING logger_obj.setLevel(level) # route INFO and DEBUG logging to stdout from stderr logging_handler_out = logging.StreamHandler(sys.stdout) logging_handler_out.setLevel(logging.DEBUG) # create a logging format formatter = logging.Formatter('%(asctime)s - %(name)s - %(process)d - %(threadName)s - %(levelname)s - %(message)s') logging_handler_out.setFormatter(formatter) logger_obj.addHandler(logging_handler_out) logging_handler_err = logging.StreamHandler(sys.stderr) logging_handler_err.setLevel(logging.WARNING) logger_obj.addHandler(logging_handler_err) return logger_obj
Example 24
Project: InsightAgent Author: insightfinder File: collectdReportMetrics.py License: Apache License 2.0 | 6 votes |
def set_logger_config(level): """Set up logging according to the defined log level""" # Get the root logger logger_obj = logging.getLogger(__name__) # Have to set the root logger level, it defaults to logging.WARNING logger_obj.setLevel(level) # route INFO and DEBUG logging to stdout from stderr logging_handler_out = logging.StreamHandler(sys.stdout) logging_handler_out.setLevel(logging.DEBUG) # create a logging format formatter = logging.Formatter('%(asctime)s - %(name)s - %(process)d - %(threadName)s - %(levelname)s - %(message)s') logging_handler_out.setFormatter(formatter) logger_obj.addHandler(logging_handler_out) logging_handler_err = logging.StreamHandler(sys.stderr) logging_handler_err.setLevel(logging.WARNING) logger_obj.addHandler(logging_handler_err) return logger_obj
Example 25
Project: InsightAgent Author: insightfinder File: getmetrics_hbase.py License: Apache License 2.0 | 6 votes |
def set_logger_config(level): """Set up logging according to the defined log level""" # Get the root logger logger_obj = logging.getLogger(__name__) # Have to set the root logger level, it defaults to logging.WARNING logger_obj.setLevel(level) # route INFO and DEBUG logging to stdout from stderr logging_handler_out = logging.StreamHandler(sys.stdout) logging_handler_out.setLevel(logging.DEBUG) # create a logging format formatter = logging.Formatter('%(asctime)s - %(name)s - %(process)d - %(threadName)s - %(levelname)s - %(message)s') logging_handler_out.setFormatter(formatter) logger_obj.addHandler(logging_handler_out) logging_handler_err = logging.StreamHandler(sys.stderr) logging_handler_err.setLevel(logging.WARNING) logger_obj.addHandler(logging_handler_err) return logger_obj
Example 26
Project: InsightAgent Author: insightfinder File: getmetrics_opentsdb.py License: Apache License 2.0 | 6 votes |
def set_logger_config(level): """Set up logging according to the defined log level""" # Get the root logger logger_obj = logging.getLogger(__name__) # Have to set the root logger level, it defaults to logging.WARNING logger_obj.setLevel(level) # route INFO and DEBUG logging to stdout from stderr logging_handler_out = logging.StreamHandler(sys.stdout) logging_handler_out.setLevel(logging.DEBUG) # create a logging format formatter = logging.Formatter('%(asctime)s - %(name)s - %(process)d - %(threadName)s - %(levelname)s - %(message)s') logging_handler_out.setFormatter(formatter) logger_obj.addHandler(logging_handler_out) logging_handler_err = logging.StreamHandler(sys.stderr) logging_handler_err.setLevel(logging.WARNING) logger_obj.addHandler(logging_handler_err) return logger_obj
Example 27
Project: InsightAgent Author: insightfinder File: getmetrics_sar.py License: Apache License 2.0 | 6 votes |
def set_logger_config(level): """ set up logging according to the defined log level """ # Get the root logger logger_obj = logging.getLogger(__name__) # Have to set the root logger level, it defaults to logging.WARNING logger_obj.setLevel(level) # route INFO and DEBUG logging to stdout from stderr logging_handler_out = logging.StreamHandler(sys.stdout) logging_handler_out.setLevel(logging.DEBUG) # create a logging format formatter = logging.Formatter('%(asctime)s [pid %(process)d] %(levelname)-8s %(module)s.%(funcName)s():%(lineno)d %(message)s') logging_handler_out.setFormatter(formatter) logger_obj.addHandler(logging_handler_out) logging_handler_err = logging.StreamHandler(sys.stderr) logging_handler_err.setLevel(logging.WARNING) logger_obj.addHandler(logging_handler_err) return logger_obj
Example 28
Project: InsightAgent Author: insightfinder File: reportMetrics.py License: Apache License 2.0 | 6 votes |
def set_logger_config(level): """Set up logging according to the defined log level""" # Get the root logger logger_obj = logging.getLogger(__name__) # Have to set the root logger level, it defaults to logging.INFO logger_obj.setLevel(level) # route INFO and DEBUG logging to stdout from stderr logging_handler_out = logging.StreamHandler(sys.stdout) logging_handler_out.setLevel(logging.DEBUG) # create a logging format formatter = logging.Formatter('%(asctime)s - %(name)s - %(process)d - %(threadName)s - %(levelname)s - %(message)s') logging_handler_out.setFormatter(formatter) logger_obj.addHandler(logging_handler_out) logging_handler_err = logging.StreamHandler(sys.stderr) logging_handler_err.setLevel(logging.WARNING) logger_obj.addHandler(logging_handler_err) return logger_obj
Example 29
Project: InsightAgent Author: insightfinder File: insightagent-boilerplate.py License: Apache License 2.0 | 6 votes |
def set_logger_config(level): """ set up logging according to the defined log level """ # Get the root logger logger_obj = logging.getLogger(__name__) # Have to set the root logger level, it defaults to logging.WARNING logger_obj.setLevel(level) # route INFO and DEBUG logging to stdout from stderr logging_handler_out = logging.StreamHandler(sys.stdout) logging_handler_out.setLevel(logging.DEBUG) # create a logging format formatter = logging.Formatter('%(asctime)s - %(name)s - %(process)d - %(threadName)s - %(levelname)s - %(message)s') logging_handler_out.setFormatter(formatter) logger_obj.addHandler(logging_handler_out) logging_handler_err = logging.StreamHandler(sys.stderr) logging_handler_err.setLevel(logging.WARNING) logger_obj.addHandler(logging_handler_err) return logger_obj
Example 30
Project: InsightAgent Author: insightfinder File: getmessages_prometheus.py License: Apache License 2.0 | 6 votes |
def set_logger_config(level): """ set up logging according to the defined log level """ # Get the root logger logger_obj = logging.getLogger(__name__) # Have to set the root logger level, it defaults to logging.WARNING logger_obj.setLevel(level) # route INFO and DEBUG logging to stdout from stderr logging_handler_out = logging.StreamHandler(sys.stdout) logging_handler_out.setLevel(logging.DEBUG) # create a logging format formatter = logging.Formatter('%(asctime)s [pid %(process)d] %(levelname)-8s %(module)s.%(funcName)s():%(lineno)d %(message)s') logging_handler_out.setFormatter(formatter) logger_obj.addHandler(logging_handler_out) logging_handler_err = logging.StreamHandler(sys.stderr) logging_handler_err.setLevel(logging.WARNING) logger_obj.addHandler(logging_handler_err) return logger_obj