added logging utils

This commit is contained in:
vasilije 2025-05-19 14:49:12 +02:00
parent 801b50755b
commit b70ab1321b

View file

@ -4,6 +4,7 @@ import threading
import logging import logging
import structlog import structlog
import traceback import traceback
import platform
from datetime import datetime from datetime import datetime
from pathlib import Path from pathlib import Path
@ -36,6 +37,11 @@ LOGS_DIR.mkdir(exist_ok=True) # Create logs dir if it doesn't exist
# Maximum number of log files to keep # Maximum number of log files to keep
MAX_LOG_FILES = 10 MAX_LOG_FILES = 10
# Version information
PYTHON_VERSION = platform.python_version()
STRUCTLOG_VERSION = structlog.__version__
OS_INFO = f"{platform.system()} {platform.release()} ({platform.version()})"
class PlainFileHandler(logging.FileHandler): class PlainFileHandler(logging.FileHandler):
"""A custom file handler that writes simpler plain text log entries.""" """A custom file handler that writes simpler plain text log entries."""
@ -326,8 +332,17 @@ def setup_logging(log_level=None, name=None):
# Clean up old log files, keeping only the most recent ones # Clean up old log files, keeping only the most recent ones
cleanup_old_logs(LOGS_DIR, MAX_LOG_FILES) cleanup_old_logs(LOGS_DIR, MAX_LOG_FILES)
# Return a configured logger # Get a configured logger and log system information
return structlog.get_logger(name if name else __name__) logger = structlog.get_logger(name if name else __name__)
logger.info(
"Logging initialized",
python_version=PYTHON_VERSION,
structlog_version=STRUCTLOG_VERSION,
os_info=OS_INFO
)
# Return the configured logger
return logger
def get_log_file_location(): def get_log_file_location():