twitter-checker/debug_logger.py
2026-01-21 04:25:00 +02:00

59 lines
1.4 KiB
Python

import logging
import sys
from pathlib import Path
from datetime import datetime
# Create logs directory
logs_dir = Path("logs")
logs_dir.mkdir(exist_ok=True)
# Configure logging
log_file = logs_dir / f"debug_{datetime.now().strftime('%Y%m%d_%H%M%S')}.log"
# Create logger
logger = logging.getLogger('TwitterChecker')
logger.setLevel(logging.DEBUG)
# File handler - detailed logs
file_handler = logging.FileHandler(log_file, encoding='utf-8')
file_handler.setLevel(logging.DEBUG)
file_formatter = logging.Formatter(
'%(asctime)s | %(levelname)8s | %(filename)s:%(lineno)d | %(message)s',
datefmt='%Y-%m-%d %H:%M:%S'
)
file_handler.setFormatter(file_formatter)
# Console handler - important messages only
console_handler = logging.StreamHandler(sys.stdout)
console_handler.setLevel(logging.INFO)
console_formatter = logging.Formatter(
'\033[1;35m[DEBUG]\033[0m %(message)s'
)
console_handler.setFormatter(console_formatter)
# Add handlers
logger.addHandler(file_handler)
logger.addHandler(console_handler)
def debug(msg):
"""Log debug message"""
logger.debug(msg)
def info(msg):
"""Log info message"""
logger.info(msg)
def warning(msg):
"""Log warning message"""
logger.warning(msg)
def error(msg):
"""Log error message"""
logger.error(msg)
def exception(msg):
"""Log exception with traceback"""
logger.exception(msg)
# Print initial message
info(f"Debug logging initialized. Log file: {log_file}")