feat: initial commit

This commit is contained in:
2025-11-01 16:04:10 +00:00
commit 07fc78592b
27 changed files with 2577 additions and 0 deletions
+71
View File
@@ -0,0 +1,71 @@
"""
Custom logging configuration with emojis and clean formatting.
"""
import logging
import sys
from datetime import datetime
class EmojiFormatter(logging.Formatter):
"""Custom formatter with emojis for different log levels."""
# Emoji mapping for log levels
EMOJIS = {
'DEBUG': '🔍',
'INFO': '',
'WARNING': '⚠️',
'ERROR': '',
'CRITICAL': '🚨',
}
def format(self, record):
# Get emoji for log level
emoji = self.EMOJIS.get(record.levelname, '📝')
# Format timestamp
timestamp = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
# Format message with emoji and timestamp
message = f"{emoji} [{timestamp}] {record.getMessage()}"
return message
def setup_logging(level=logging.INFO):
"""Setup custom logging configuration.
Args:
level: Logging level (default: INFO)
"""
# Get root logger
logger = logging.getLogger()
logger.setLevel(level)
# Remove existing handlers
logger.handlers = []
# Create console handler
handler = logging.StreamHandler(sys.stdout)
handler.setLevel(level)
# Set custom formatter
formatter = EmojiFormatter()
handler.setFormatter(formatter)
# Add handler to logger
logger.addHandler(handler)
return logger
def get_logger(name):
"""Get a logger with the custom configuration.
Args:
name: Logger name (usually __name__)
Returns:
Logger instance
"""
return logging.getLogger(name)