|
import logging |
|
|
|
class ChatIDLoggerAdapter(logging.LoggerAdapter): |
|
def process(self, msg, kwargs): |
|
|
|
chat_id = self.extra.get('chat_id', 'N/A') |
|
return f"[Chat ID: {chat_id}] {msg}", kwargs |
|
|
|
def setup_logger(name, chat_id=None): |
|
logger = logging.getLogger(name) |
|
if not logger.handlers: |
|
logger.setLevel(logging.INFO) |
|
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') |
|
|
|
|
|
console_handler = logging.StreamHandler() |
|
console_handler.setFormatter(formatter) |
|
logger.addHandler(console_handler) |
|
|
|
|
|
return ChatIDLoggerAdapter(logger, {'chat_id': chat_id}) |
|
|