Fixat loggning
This commit is contained in:
+27
-12
@@ -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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user