Python logging._levelNames() Examples
The following are 30
code examples of logging._levelNames().
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 also want to check out all available functions/classes of the module
logging
, or try the search function
.
Example #1
Source File: loggingwrapper.py From CAMISIM with 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 #2
Source File: translogger.py From mishkal with GNU General Public License v3.0 | 6 votes |
def make_filter( app, global_conf, logger_name='wsgi', format=None, logging_level=logging.INFO, setup_console_handler=True, set_logger_level=logging.DEBUG): from paste.util.converters import asbool if isinstance(logging_level, basestring): logging_level = logging._levelNames[logging_level] if isinstance(set_logger_level, basestring): set_logger_level = logging._levelNames[set_logger_level] return TransLogger( app, format=format or None, logging_level=logging_level, logger_name=logger_name, setup_console_handler=asbool(setup_console_handler), set_logger_level=set_logger_level)
Example #3
Source File: server.py From pysoa with Apache License 2.0 | 6 votes |
def __init__( self, logger, # type: Union[six.text_type, six.binary_type, logging.Logger, None] level, # type: Union[six.text_type, six.binary_type, int, None] ): if isinstance(logger, logging.Logger): self.logger = logger self.logger_name = logger.name # type: Union[six.text_type, six.binary_type, None] else: # noinspection PyTypeChecker self.logger = logging.getLogger(logger) # type: ignore self.logger_name = logger if level: if isinstance(level, int): self.level = level else: if six.PY2: # noinspection PyProtectedMember,PyUnresolvedReferences self.level = logging._levelNames[level] # type: ignore else: # noinspection PyProtectedMember self.level = logging._nameToLevel[level] # type: ignore else: self.level = logging.INFO
Example #4
Source File: loggingwrapper.py From CAMISIM with 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 #5
Source File: loggingwrapper.py From CAMISIM with Apache License 2.0 | 6 votes |
def set_level(self, level): """ Set the minimum level of messages to be logged. Level of Log Messages CRITICAL 50 ERROR 40 WARNING 30 INFO 20 DEBUG 10 NOTSET 0 @param level: minimum level of messages to be logged @type level: int or long @return: None @rtype: None """ assert level in self._levelNames list_of_handlers = self._logger.handlers for handler in list_of_handlers: handler.setLevel(level)
Example #6
Source File: loggingwrapper.py From CAMISIM with Apache License 2.0 | 6 votes |
def set_level(self, level): """ Set the minimum level of messages to be logged. Level of Log Messages CRITICAL 50 ERROR 40 WARNING 30 INFO 20 DEBUG 10 NOTSET 0 @param level: minimum level of messages to be logged @type level: int or long @return: None @rtype: None """ assert level in self._levelNames list_of_handlers = self._logger.handlers for handler in list_of_handlers: handler.setLevel(level)
Example #7
Source File: config.py From CTFCrackTools with GNU General Public License v3.0 | 5 votes |
def _install_handlers(cp, formatters): """Install and return handlers""" hlist = cp.get("handlers", "keys") if not len(hlist): return {} hlist = hlist.split(",") hlist = _strip_spaces(hlist) handlers = {} fixups = [] #for inter-handler references for hand in hlist: sectname = "handler_%s" % hand klass = cp.get(sectname, "class") opts = cp.options(sectname) if "formatter" in opts: fmt = cp.get(sectname, "formatter") else: fmt = "" try: klass = eval(klass, vars(logging)) except (AttributeError, NameError): klass = _resolve(klass) args = cp.get(sectname, "args") args = eval(args, vars(logging)) h = klass(*args) if "level" in opts: level = cp.get(sectname, "level") h.setLevel(logging._levelNames[level]) if len(fmt): h.setFormatter(formatters[fmt]) if issubclass(klass, logging.handlers.MemoryHandler): if "target" in opts: target = cp.get(sectname,"target") else: target = "" if len(target): #the target handler may not be loaded yet, so keep for later... fixups.append((h, target)) handlers[hand] = h #now all handlers are loaded, fixup inter-handler references... for h, t in fixups: h.setTarget(handlers[t]) return handlers
Example #8
Source File: common.py From incubator-ariatosca with Apache License 2.0 | 5 votes |
def __getattr__(self, attribute): if attribute.upper() in logging._levelNames: return partial(self._logger_with_task_id, _level=attribute) else: return getattr(self._logger, attribute)
Example #9
Source File: logger.py From incubator-ariatosca with Apache License 2.0 | 5 votes |
def _configure_loggers(self, config): loggers_config = config.logging.loggers logfile = config.logging.filename logger_dict = copy.deepcopy(LOGGER_CONFIG_TEMPLATE) if logfile: # set filename on file handler logger_dict['handlers']['file']['filename'] = logfile logfile_dir = os.path.dirname(logfile) if not os.path.exists(logfile_dir): os.makedirs(logfile_dir) self._log_file = logfile else: del logger_dict['handlers']['file'] # add handlers to all loggers loggers = {} for logger_name in loggers_config: loggers[logger_name] = dict(handlers=list(logger_dict['handlers'].keys())) self._all_loggers_names.append(logger_name) logger_dict['loggers'] = loggers # set level for all loggers for logger_name, logging_level in loggers_config.iteritems(): log = logging.getLogger(logger_name) level = logging._levelNames[logging_level.upper()] log.setLevel(level) dictconfig.dictConfig(logger_dict)
Example #10
Source File: config.py From datafari with Apache License 2.0 | 5 votes |
def _install_handlers(cp, formatters): """Install and return handlers""" hlist = cp.get("handlers", "keys") if not len(hlist): return {} hlist = hlist.split(",") hlist = _strip_spaces(hlist) handlers = {} fixups = [] #for inter-handler references for hand in hlist: sectname = "handler_%s" % hand klass = cp.get(sectname, "class") opts = cp.options(sectname) if "formatter" in opts: fmt = cp.get(sectname, "formatter") else: fmt = "" try: klass = eval(klass, vars(logging)) except (AttributeError, NameError): klass = _resolve(klass) args = cp.get(sectname, "args") args = eval(args, vars(logging)) h = klass(*args) if "level" in opts: level = cp.get(sectname, "level") h.setLevel(logging._levelNames[level]) if len(fmt): h.setFormatter(formatters[fmt]) if issubclass(klass, logging.handlers.MemoryHandler): if "target" in opts: target = cp.get(sectname,"target") else: target = "" if len(target): #the target handler may not be loaded yet, so keep for later... fixups.append((h, target)) handlers[hand] = h #now all handlers are loaded, fixup inter-handler references... for h, t in fixups: h.setTarget(handlers[t]) return handlers
Example #11
Source File: config.py From Splunking-Crime with GNU Affero General Public License v3.0 | 5 votes |
def _install_handlers(cp, formatters): """Install and return handlers""" hlist = cp.get("handlers", "keys") if not len(hlist): return {} hlist = hlist.split(",") hlist = _strip_spaces(hlist) handlers = {} fixups = [] #for inter-handler references for hand in hlist: sectname = "handler_%s" % hand klass = cp.get(sectname, "class") opts = cp.options(sectname) if "formatter" in opts: fmt = cp.get(sectname, "formatter") else: fmt = "" try: klass = eval(klass, vars(logging)) except (AttributeError, NameError): klass = _resolve(klass) args = cp.get(sectname, "args") args = eval(args, vars(logging)) h = klass(*args) if "level" in opts: level = cp.get(sectname, "level") h.setLevel(logging._levelNames[level]) if len(fmt): h.setFormatter(formatters[fmt]) if issubclass(klass, logging.handlers.MemoryHandler): if "target" in opts: target = cp.get(sectname,"target") else: target = "" if len(target): #the target handler may not be loaded yet, so keep for later... fixups.append((h, target)) handlers[hand] = h #now all handlers are loaded, fixup inter-handler references... for h, t in fixups: h.setTarget(handlers[t]) return handlers
Example #12
Source File: log.py From lang2program with Apache License 2.0 | 5 votes |
def set_log_level(level): """Set the log-level of the root logger of the logging module. Args: level: can be an integer such as 30 (logging.WARN), or a string such as 'WARN' """ if isinstance(level, str): level = logging._levelNames[level] logger = logging.getLogger() # gets root logger logger.setLevel(level)
Example #13
Source File: config.py From medicare-demo with Apache License 2.0 | 5 votes |
def _install_handlers(cp, formatters): """Install and return handlers""" hlist = cp.get("handlers", "keys") if not len(hlist): return {} hlist = string.split(hlist, ",") handlers = {} fixups = [] #for inter-handler references for hand in hlist: sectname = "handler_%s" % string.strip(hand) klass = cp.get(sectname, "class") opts = cp.options(sectname) if "formatter" in opts: fmt = cp.get(sectname, "formatter") else: fmt = "" klass = eval(klass, vars(logging)) args = cp.get(sectname, "args") args = eval(args, vars(logging)) h = apply(klass, args) if "level" in opts: level = cp.get(sectname, "level") h.setLevel(logging._levelNames[level]) if len(fmt): h.setFormatter(formatters[fmt]) #temporary hack for FileHandler and MemoryHandler. if klass == logging.handlers.MemoryHandler: if "target" in opts: target = cp.get(sectname,"target") else: target = "" if len(target): #the target handler may not be loaded yet, so keep for later... fixups.append((h, target)) handlers[hand] = h #now all handlers are loaded, fixup inter-handler references... for h, t in fixups: h.setTarget(handlers[t]) return handlers
Example #14
Source File: search_command.py From SA-ctf_scoreboard with Creative Commons Zero v1.0 Universal | 5 votes |
def logging_level(self, value): if value is None: value = self._default_logging_level if isinstance(value, (bytes, unicode)): try: level = _levelNames[value.upper()] except KeyError: raise ValueError('Unrecognized logging level: {}'.format(value)) else: try: level = int(value) except ValueError: raise ValueError('Unrecognized logging level: {}'.format(value)) self._logger.setLevel(level)
Example #15
Source File: search_command.py From SA-ctf_scoreboard with Creative Commons Zero v1.0 Universal | 5 votes |
def logging_level(self, value): if value is None: value = self._default_logging_level if isinstance(value, (bytes, unicode)): try: level = _levelNames[value.upper()] except KeyError: raise ValueError('Unrecognized logging level: {}'.format(value)) else: try: level = int(value) except ValueError: raise ValueError('Unrecognized logging level: {}'.format(value)) self._logger.setLevel(level)
Example #16
Source File: search_command.py From SA-ctf_scoreboard with Creative Commons Zero v1.0 Universal | 5 votes |
def logging_level(self, value): if value is None: value = self._default_logging_level if isinstance(value, (bytes, unicode)): try: level = _levelNames[value.upper()] except KeyError: raise ValueError('Unrecognized logging level: {}'.format(value)) else: try: level = int(value) except ValueError: raise ValueError('Unrecognized logging level: {}'.format(value)) self._logger.setLevel(level)
Example #17
Source File: config.py From CTFCrackTools-V2 with GNU General Public License v3.0 | 5 votes |
def _install_handlers(cp, formatters): """Install and return handlers""" hlist = cp.get("handlers", "keys") if not len(hlist): return {} hlist = hlist.split(",") hlist = _strip_spaces(hlist) handlers = {} fixups = [] #for inter-handler references for hand in hlist: sectname = "handler_%s" % hand klass = cp.get(sectname, "class") opts = cp.options(sectname) if "formatter" in opts: fmt = cp.get(sectname, "formatter") else: fmt = "" try: klass = eval(klass, vars(logging)) except (AttributeError, NameError): klass = _resolve(klass) args = cp.get(sectname, "args") args = eval(args, vars(logging)) h = klass(*args) if "level" in opts: level = cp.get(sectname, "level") h.setLevel(logging._levelNames[level]) if len(fmt): h.setFormatter(formatters[fmt]) if issubclass(klass, logging.handlers.MemoryHandler): if "target" in opts: target = cp.get(sectname,"target") else: target = "" if len(target): #the target handler may not be loaded yet, so keep for later... fixups.append((h, target)) handlers[hand] = h #now all handlers are loaded, fixup inter-handler references... for h, t in fixups: h.setTarget(handlers[t]) return handlers
Example #18
Source File: config.py From CTFCrackTools-V2 with GNU General Public License v3.0 | 5 votes |
def _install_handlers(cp, formatters): """Install and return handlers""" hlist = cp.get("handlers", "keys") if not len(hlist): return {} hlist = hlist.split(",") hlist = _strip_spaces(hlist) handlers = {} fixups = [] #for inter-handler references for hand in hlist: sectname = "handler_%s" % hand klass = cp.get(sectname, "class") opts = cp.options(sectname) if "formatter" in opts: fmt = cp.get(sectname, "formatter") else: fmt = "" try: klass = eval(klass, vars(logging)) except (AttributeError, NameError): klass = _resolve(klass) args = cp.get(sectname, "args") args = eval(args, vars(logging)) h = klass(*args) if "level" in opts: level = cp.get(sectname, "level") h.setLevel(logging._levelNames[level]) if len(fmt): h.setFormatter(formatters[fmt]) if issubclass(klass, logging.handlers.MemoryHandler): if "target" in opts: target = cp.get(sectname,"target") else: target = "" if len(target): #the target handler may not be loaded yet, so keep for later... fixups.append((h, target)) handlers[hand] = h #now all handlers are loaded, fixup inter-handler references... for h, t in fixups: h.setTarget(handlers[t]) return handlers
Example #19
Source File: search_command.py From vscode-extension-splunk with MIT License | 5 votes |
def logging_level(self, value): if value is None: value = self._default_logging_level if isinstance(value, (bytes, six.text_type)): try: level = _levelNames[value.upper()] except KeyError: raise ValueError('Unrecognized logging level: {}'.format(value)) else: try: level = int(value) except ValueError: raise ValueError('Unrecognized logging level: {}'.format(value)) self._logger.setLevel(level)
Example #20
Source File: config.py From python-scripts with GNU General Public License v3.0 | 5 votes |
def _install_handlers(cp, formatters): """Install and return handlers""" hlist = cp.get("handlers", "keys") if not len(hlist): return {} hlist = hlist.split(",") hlist = _strip_spaces(hlist) handlers = {} fixups = [] #for inter-handler references for hand in hlist: sectname = "handler_%s" % hand klass = cp.get(sectname, "class") opts = cp.options(sectname) if "formatter" in opts: fmt = cp.get(sectname, "formatter") else: fmt = "" try: klass = eval(klass, vars(logging)) except (AttributeError, NameError): klass = _resolve(klass) args = cp.get(sectname, "args") args = eval(args, vars(logging)) h = klass(*args) if "level" in opts: level = cp.get(sectname, "level") h.setLevel(logging._levelNames[level]) if len(fmt): h.setFormatter(formatters[fmt]) if issubclass(klass, logging.handlers.MemoryHandler): if "target" in opts: target = cp.get(sectname,"target") else: target = "" if len(target): #the target handler may not be loaded yet, so keep for later... fixups.append((h, target)) handlers[hand] = h #now all handlers are loaded, fixup inter-handler references... for h, t in fixups: h.setTarget(handlers[t]) return handlers
Example #21
Source File: config.py From gimp-plugin-export-layers with GNU General Public License v3.0 | 5 votes |
def _install_handlers(cp, formatters): """Install and return handlers""" hlist = cp.get("handlers", "keys") if not len(hlist): return {} hlist = hlist.split(",") hlist = _strip_spaces(hlist) handlers = {} fixups = [] #for inter-handler references for hand in hlist: sectname = "handler_%s" % hand klass = cp.get(sectname, "class") opts = cp.options(sectname) if "formatter" in opts: fmt = cp.get(sectname, "formatter") else: fmt = "" try: klass = eval(klass, vars(logging)) except (AttributeError, NameError): klass = _resolve(klass) args = cp.get(sectname, "args") args = eval(args, vars(logging)) h = klass(*args) if "level" in opts: level = cp.get(sectname, "level") h.setLevel(logging._levelNames[level]) if len(fmt): h.setFormatter(formatters[fmt]) if issubclass(klass, logging.handlers.MemoryHandler): if "target" in opts: target = cp.get(sectname,"target") else: target = "" if len(target): #the target handler may not be loaded yet, so keep for later... fixups.append((h, target)) handlers[hand] = h #now all handlers are loaded, fixup inter-handler references... for h, t in fixups: h.setTarget(handlers[t]) return handlers
Example #22
Source File: infra_logging.py From RackHD with Apache License 2.0 | 5 votes |
def __do_level_names(self): lvl_copy = dict(_levelNames) for adj in range(0, 10): for lvl_key, lvl_value in lvl_copy.items(): if isinstance(lvl_key, str) and lvl_key != 'NOTSET': new_name = "{0}_{1}".format(lvl_key, adj) new_val = lvl_value + (2 - adj) # Note: we can't insert our overlap (DEBUG_2 == DEBUG) # here without changing what _appears_ in the log to be the _2 # version. We let __getattr__ mapping handle this case. if new_val != lvl_value: addLevelName(new_val, new_name)
Example #23
Source File: config.py From RevitBatchProcessor with GNU General Public License v3.0 | 5 votes |
def _install_handlers(cp, formatters): """Install and return handlers""" hlist = cp.get("handlers", "keys") if not len(hlist): return {} hlist = hlist.split(",") hlist = _strip_spaces(hlist) handlers = {} fixups = [] #for inter-handler references for hand in hlist: sectname = "handler_%s" % hand klass = cp.get(sectname, "class") opts = cp.options(sectname) if "formatter" in opts: fmt = cp.get(sectname, "formatter") else: fmt = "" try: klass = eval(klass, vars(logging)) except (AttributeError, NameError): klass = _resolve(klass) args = cp.get(sectname, "args") args = eval(args, vars(logging)) h = klass(*args) if "level" in opts: level = cp.get(sectname, "level") h.setLevel(logging._levelNames[level]) if len(fmt): h.setFormatter(formatters[fmt]) if issubclass(klass, logging.handlers.MemoryHandler): if "target" in opts: target = cp.get(sectname,"target") else: target = "" if len(target): #the target handler may not be loaded yet, so keep for later... fixups.append((h, target)) handlers[hand] = h #now all handlers are loaded, fixup inter-handler references... for h, t in fixups: h.setTarget(handlers[t]) return handlers
Example #24
Source File: config.py From PokemonGo-DesktopMap with MIT License | 5 votes |
def _install_handlers(cp, formatters): """Install and return handlers""" hlist = cp.get("handlers", "keys") if not len(hlist): return {} hlist = hlist.split(",") hlist = _strip_spaces(hlist) handlers = {} fixups = [] #for inter-handler references for hand in hlist: sectname = "handler_%s" % hand klass = cp.get(sectname, "class") opts = cp.options(sectname) if "formatter" in opts: fmt = cp.get(sectname, "formatter") else: fmt = "" try: klass = eval(klass, vars(logging)) except (AttributeError, NameError): klass = _resolve(klass) args = cp.get(sectname, "args") args = eval(args, vars(logging)) h = klass(*args) if "level" in opts: level = cp.get(sectname, "level") h.setLevel(logging._levelNames[level]) if len(fmt): h.setFormatter(formatters[fmt]) if issubclass(klass, logging.handlers.MemoryHandler): if "target" in opts: target = cp.get(sectname,"target") else: target = "" if len(target): #the target handler may not be loaded yet, so keep for later... fixups.append((h, target)) handlers[hand] = h #now all handlers are loaded, fixup inter-handler references... for h, t in fixups: h.setTarget(handlers[t]) return handlers
Example #25
Source File: config.py From unity-python with MIT License | 5 votes |
def _install_handlers(cp, formatters): """Install and return handlers""" hlist = cp.get("handlers", "keys") if not len(hlist): return {} hlist = hlist.split(",") hlist = _strip_spaces(hlist) handlers = {} fixups = [] #for inter-handler references for hand in hlist: sectname = "handler_%s" % hand klass = cp.get(sectname, "class") opts = cp.options(sectname) if "formatter" in opts: fmt = cp.get(sectname, "formatter") else: fmt = "" try: klass = eval(klass, vars(logging)) except (AttributeError, NameError): klass = _resolve(klass) args = cp.get(sectname, "args") args = eval(args, vars(logging)) h = klass(*args) if "level" in opts: level = cp.get(sectname, "level") h.setLevel(logging._levelNames[level]) if len(fmt): h.setFormatter(formatters[fmt]) if issubclass(klass, logging.handlers.MemoryHandler): if "target" in opts: target = cp.get(sectname,"target") else: target = "" if len(target): #the target handler may not be loaded yet, so keep for later... fixups.append((h, target)) handlers[hand] = h #now all handlers are loaded, fixup inter-handler references... for h, t in fixups: h.setTarget(handlers[t]) return handlers
Example #26
Source File: config.py From canape with GNU General Public License v3.0 | 5 votes |
def _install_handlers(cp, formatters): """Install and return handlers""" hlist = cp.get("handlers", "keys") if not len(hlist): return {} hlist = hlist.split(",") hlist = _strip_spaces(hlist) handlers = {} fixups = [] #for inter-handler references for hand in hlist: sectname = "handler_%s" % hand klass = cp.get(sectname, "class") opts = cp.options(sectname) if "formatter" in opts: fmt = cp.get(sectname, "formatter") else: fmt = "" try: klass = eval(klass, vars(logging)) except (AttributeError, NameError): klass = _resolve(klass) args = cp.get(sectname, "args") args = eval(args, vars(logging)) h = klass(*args) if "level" in opts: level = cp.get(sectname, "level") h.setLevel(logging._levelNames[level]) if len(fmt): h.setFormatter(formatters[fmt]) if issubclass(klass, logging.handlers.MemoryHandler): if "target" in opts: target = cp.get(sectname,"target") else: target = "" if len(target): #the target handler may not be loaded yet, so keep for later... fixups.append((h, target)) handlers[hand] = h #now all handlers are loaded, fixup inter-handler references... for h, t in fixups: h.setTarget(handlers[t]) return handlers
Example #27
Source File: config.py From CTFCrackTools with GNU General Public License v3.0 | 5 votes |
def _install_handlers(cp, formatters): """Install and return handlers""" hlist = cp.get("handlers", "keys") if not len(hlist): return {} hlist = hlist.split(",") hlist = _strip_spaces(hlist) handlers = {} fixups = [] #for inter-handler references for hand in hlist: sectname = "handler_%s" % hand klass = cp.get(sectname, "class") opts = cp.options(sectname) if "formatter" in opts: fmt = cp.get(sectname, "formatter") else: fmt = "" try: klass = eval(klass, vars(logging)) except (AttributeError, NameError): klass = _resolve(klass) args = cp.get(sectname, "args") args = eval(args, vars(logging)) h = klass(*args) if "level" in opts: level = cp.get(sectname, "level") h.setLevel(logging._levelNames[level]) if len(fmt): h.setFormatter(formatters[fmt]) if issubclass(klass, logging.handlers.MemoryHandler): if "target" in opts: target = cp.get(sectname,"target") else: target = "" if len(target): #the target handler may not be loaded yet, so keep for later... fixups.append((h, target)) handlers[hand] = h #now all handlers are loaded, fixup inter-handler references... for h, t in fixups: h.setTarget(handlers[t]) return handlers
Example #28
Source File: search_command.py From splunk-ref-pas-code with Apache License 2.0 | 5 votes |
def logging_level(self, value): if value is None: value = self._default_logging_level if type(value) is str: try: level = _levelNames[value.upper()] except KeyError: raise ValueError('Unrecognized logging level: %s' % value) else: try: level = int(value) except ValueError: raise ValueError('Unrecognized logging level: %s' % value) self.logger.setLevel(level) return
Example #29
Source File: loggingwrapper.py From CAMISIM with Apache License 2.0 | 5 votes |
def set_log_file(self, log_file, mode='a', level=logging.INFO): """ Add a stream where messages are outputted to. @attention: file stream will only be closed if a file path is given! @param log_file: file stream or file path of logfile @type log_file: file | FileIO | StringIO | basestring @param mode: opening mode for logfile, if a file path is given @type mode: basestring @param level: minimum level of messages to be logged @type level: int or long @return: None @rtype: None """ assert isinstance(log_file, basestring) or self.is_stream(log_file) assert level in self._levelNames if LoggingWrapper._map_logfile_handler[self._label] is not None: self._logger.removeHandler(LoggingWrapper._map_logfile_handler[self._label]) LoggingWrapper._map_logfile_handler[self._label].close() LoggingWrapper._map_logfile_handler[self._label] = None if self.is_stream(log_file): self.add_log_stream(stream=log_file, level=level) return try: err_handler_file = logging.FileHandler(log_file, mode) err_handler_file.setFormatter(self.message_formatter) err_handler_file.setLevel(level) self._logger.addHandler(err_handler_file) LoggingWrapper._map_logfile_handler[self._label] = err_handler_file except Exception: sys.stderr.write("[LoggingWrapper] Could not open '{}' for logging\n".format(log_file)) return
Example #30
Source File: config.py From jawfish with MIT License | 5 votes |
def _install_handlers(cp, formatters): """Install and return handlers""" hlist = cp["handlers"]["keys"] if not len(hlist): return {} hlist = hlist.split(",") hlist = _strip_spaces(hlist) handlers = {} fixups = [] #for inter-handler references for hand in hlist: section = cp["handler_%s" % hand] klass = section["class"] fmt = section.get("formatter", "") try: klass = eval(klass, vars(logging)) except (AttributeError, NameError): klass = _resolve(klass) args = section["args"] args = eval(args, vars(logging)) h = klass(*args) if "level" in section: level = section["level"] h.setLevel(logging._levelNames[level]) if len(fmt): h.setFormatter(formatters[fmt]) if issubclass(klass, logging.handlers.MemoryHandler): target = section.get("target", "") if len(target): #the target handler may not be loaded yet, so keep for later... fixups.append((h, target)) handlers[hand] = h #now all handlers are loaded, fixup inter-handler references... for h, t in fixups: h.setTarget(handlers[t]) return handlers