Fixat loggning
This commit is contained in:
+28
-13
@@ -3,20 +3,35 @@
|
||||
# is that it is easier to avoid circular imports when they are defined in a central location.
|
||||
import logging
|
||||
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):
|
||||
"""
|
||||
Set up logging for the project. This is the root logger instance.
|
||||
All child loggers inherit from this logger.
|
||||
"""
|
||||
numeric_level = getattr(logging, level.upper()) # Convert string to numeric level
|
||||
|
||||
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)
|
||||
logger = logging.getLogger() # Get the root 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)
|
||||
|
||||
logging.basicConfig(level=numeric_log_level) # Set the root logger level to the configured level
|
||||
log_instance.info('Log level set to {}'.format(log_level)) # Example usage of the logger
|
||||
# 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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user