Files
hyper/logging_utils.py
2025-10-13 11:28:09 +02:00

41 lines
1.1 KiB
Python

import logging
import sys
def setup_logging(log_level: str, process_name: str):
"""
Configures logging for a process.
Args:
log_level: The desired logging level ('off', 'normal', 'debug').
process_name: The name of the current process for log formatting.
"""
level_map = {
'normal': logging.INFO,
'debug': logging.DEBUG,
}
if log_level == 'off':
logging.getLogger().addHandler(logging.NullHandler())
return
log_level_val = level_map.get(log_level.lower())
if log_level_val is None:
print(f"Invalid log level '{log_level}'. Defaulting to 'normal'.")
log_level_val = logging.INFO
logger = logging.getLogger()
if logger.hasHandlers():
logger.handlers.clear()
handler = logging.StreamHandler(sys.stdout)
# --- FIX: Added a date format that includes the timezone name (%Z) ---
formatter = logging.Formatter(
f'%(asctime)s - {process_name} - %(levelname)s - %(message)s',
datefmt='%Y-%m-%d %H:%M:%S %Z'
)
handler.setFormatter(formatter)
logger.addHandler(handler)
logger.setLevel(log_level_val)