improved how the default logger is initialized
This commit is contained in:
+15
-7
@@ -33,7 +33,7 @@ __all__ = tuple(logging__all__ + [
|
|||||||
'set_default_logger',
|
'set_default_logger',
|
||||||
'warning',
|
'warning',
|
||||||
])
|
])
|
||||||
__version__ = '0.1.6'
|
__version__ = '0.1.7'
|
||||||
__author__ = 'Eishausener <code@eishausener.de>'
|
__author__ = 'Eishausener <code@eishausener.de>'
|
||||||
__name__ = 'eh_logging'
|
__name__ = 'eh_logging'
|
||||||
|
|
||||||
@@ -49,6 +49,9 @@ _DEBUG = False
|
|||||||
class DEFAULT:
|
class DEFAULT:
|
||||||
# -- Default Logger Name -- #
|
# -- Default Logger Name -- #
|
||||||
LOGGER_NAME = 'eh_logging'
|
LOGGER_NAME = 'eh_logging'
|
||||||
|
# -- Default Handler internal name -- #
|
||||||
|
HANDLER_NAME_STREAM = 'eh_logging-stream-default'
|
||||||
|
HANDLER_NAME_TEMP_STREAM = 'eh_logging-stream-helper'
|
||||||
# -- Logger Space -- #
|
# -- Logger Space -- #
|
||||||
SPACE_LOGGER_NAME = 11
|
SPACE_LOGGER_NAME = 11
|
||||||
SPACE_LEVEL = 8
|
SPACE_LEVEL = 8
|
||||||
@@ -111,10 +114,10 @@ def _init():
|
|||||||
_logger = getLogger(DEFAULT.LOGGER_NAME)
|
_logger = getLogger(DEFAULT.LOGGER_NAME)
|
||||||
_changed = True
|
_changed = True
|
||||||
|
|
||||||
if not _logger.handlers:
|
if not _logger.hasHandlers():
|
||||||
print_debug(f'[DEBUG] adding stream handler to logger. (addr: {id(_logger)})')
|
print_debug(f'[DEBUG] adding stream handler to logger. (addr: {id(_logger)})')
|
||||||
_handler = StreamHandler()
|
_handler = StreamHandler()
|
||||||
_handler.name = 'eh_logging-stream-helper' # should not be displayed. only for internal use
|
_handler.name = DEFAULT.HANDLER_NAME_TEMP_STREAM # should not be displayed. only for internal use
|
||||||
_logger.addHandler(_handler)
|
_logger.addHandler(_handler)
|
||||||
_changed = True
|
_changed = True
|
||||||
|
|
||||||
@@ -611,14 +614,19 @@ def _init_default_logger():
|
|||||||
Initialize the default logger with a formatted logger
|
Initialize the default logger with a formatted logger
|
||||||
:return:
|
:return:
|
||||||
"""
|
"""
|
||||||
|
removed = False
|
||||||
_logger = getLogger(DEFAULT.LOGGER_NAME)
|
_logger = getLogger(DEFAULT.LOGGER_NAME)
|
||||||
|
for handler in _logger.handlers:
|
||||||
|
if handler.name == DEFAULT.HANDLER_NAME_TEMP_STREAM:
|
||||||
|
# remove temp handler
|
||||||
|
_logger.removeHandler(handler)
|
||||||
|
removed = True
|
||||||
|
if removed or not _logger.hasHandlers():
|
||||||
|
# add new formatted stream handler
|
||||||
_formatter = FormatterColor()
|
_formatter = FormatterColor()
|
||||||
_handler = StreamHandler()
|
_handler = StreamHandler()
|
||||||
_handler.setFormatter(_formatter)
|
_handler.setFormatter(_formatter)
|
||||||
_handler.name = 'eh_logging-stream-default' # should not be displayed. only for internal use
|
_handler.name = DEFAULT.HANDLER_NAME_STREAM # should not be displayed. only for internal use
|
||||||
# remove all handlers to prevent duplicate handlers
|
|
||||||
for handler in _logger.handlers:
|
|
||||||
_logger.removeHandler(handler)
|
|
||||||
_logger.addHandler(_handler)
|
_logger.addHandler(_handler)
|
||||||
_default_logger.set(_logger)
|
_default_logger.set(_logger)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user