Spaces:
Sleeping
Sleeping
File size: 1,183 Bytes
c4d4675 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
import logging
import os
from datetime import datetime
from logging.handlers import RotatingFileHandler
def setup_logger(name="botty"):
# Create logs directory if it doesn't exist
if not os.path.exists('logs'):
os.makedirs('logs')
# Configure logger
logger = logging.getLogger(name)
logger.setLevel(logging.DEBUG)
# Create formatters
file_formatter = logging.Formatter(
'%(asctime)s | %(levelname)s | %(module)s:%(lineno)d | %(message)s'
)
console_formatter = logging.Formatter(
'%(levelname)s: %(message)s'
)
# File handler (rotating, max 5MB per file, keep 5 backup files)
file_handler = RotatingFileHandler(
f'logs/botty_{datetime.now().strftime("%Y%m%d")}.log',
maxBytes=5*1024*1024,
backupCount=5
)
file_handler.setLevel(logging.DEBUG)
file_handler.setFormatter(file_formatter)
# Console handler
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.INFO)
console_handler.setFormatter(console_formatter)
# Add handlers to logger
logger.addHandler(file_handler)
logger.addHandler(console_handler)
return logger
|