Fixat loggning

This commit is contained in:
Joakim Persson
2024-07-24 17:25:14 +02:00
parent feb7e61fd8
commit ce5532e9a6
+27 -12
View File
@@ -3,20 +3,35 @@
# is that it is easier to avoid circular imports when they are defined in a central location. # is that it is easier to avoid circular imports when they are defined in a central location.
import logging import logging
global log_level # Remember, in Python globals are only global in the module it is defined in global log_level # Remember, in Python globals are only global in the module it is defined in
log_level = 'INFO' # Default logging level log_level = 'INFO' # Default logging level if not specified in config file
def configure_logging(level=log_level):
def set_local_logger(log_instance):
""" """
Configure logging based on the global variable log_level Set up logging for the project. This is the root logger instance.
Logging is controlled by integer values, where DEBUG < INFO < WARNING < ERROR < CRITICAL. All child loggers inherit from this logger.
To turn off logging completely, set numeric_log_level to at least CRITICAL + 1.
""" """
global log_level numeric_level = getattr(logging, level.upper()) # Convert string to numeric level
numeric_log_level = getattr(logging, log_level, None)
if not isinstance(numeric_log_level, int):
raise ValueError('Invalid log level: %s' % log_level)
logging.basicConfig(level=numeric_log_level) # Set the root logger level to the configured level logger = logging.getLogger() # Get the root logger
log_instance.info('Log level set to {}'.format(log_level)) # Example usage of the logger logger.setLevel(numeric_level)
handler = logging.StreamHandler() # Or other handler (FileHandler for logs to file)
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
handler.setFormatter(formatter)
logger.addHandler(handler)
# To be removed?
# def set_local_logger(log_instance):
# """
# Configure logging based on the global variable log_level
# Logging is controlled by integer values, where DEBUG < INFO < WARNING < ERROR < CRITICAL.
# To turn off logging completely, set numeric_log_level to at least CRITICAL + 1.
# """
# global log_level
# numeric_log_level = getattr(logging, log_level, None)
# if not isinstance(numeric_log_level, int):
# raise ValueError('Invalid log level: %s' % log_level)
# log_instance.basicConfig(level=numeric_log_level) # Set the root logger level to the configured level
# log_instance.info('Current log level set to {}'.format(log_instance.getLogger().getEffectiveLevel())) # Example usage of the logger