Initialisation du repository de Beta
This commit is contained in:
commit
14985f6dbb
9469 changed files with 1903273 additions and 0 deletions
54
commandes/autres/logger.py
Normal file
54
commandes/autres/logger.py
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
import logging
|
||||
import json
|
||||
from datetime import datetime
|
||||
from .config import config
|
||||
|
||||
class ActionLogger:
|
||||
def __init__(self, log_file: str = 'actions.log'):
|
||||
self.log_file = log_file
|
||||
self.logger = logging.getLogger('ActionLogger')
|
||||
self.logger.setLevel(logging.INFO)
|
||||
|
||||
# File handler
|
||||
file_handler = logging.FileHandler(log_file, encoding='utf-8')
|
||||
file_handler.setLevel(logging.INFO)
|
||||
|
||||
# Formatter
|
||||
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
|
||||
file_handler.setFormatter(formatter)
|
||||
|
||||
# Add handler if not already added
|
||||
if not self.logger.handlers:
|
||||
self.logger.addHandler(file_handler)
|
||||
|
||||
def log_action(self, action: str, user: str, guild: str, params: dict, success: bool, error: str = None):
|
||||
"""Log an action performed by the bot."""
|
||||
log_entry = {
|
||||
'timestamp': datetime.now().isoformat(),
|
||||
'action': action,
|
||||
'user': user,
|
||||
'guild': guild,
|
||||
'params': params,
|
||||
'success': success,
|
||||
'error': error
|
||||
}
|
||||
|
||||
message = f"ACTION: {json.dumps(log_entry, ensure_ascii=False)}"
|
||||
if success:
|
||||
self.logger.info(message)
|
||||
else:
|
||||
self.logger.error(message)
|
||||
|
||||
def log_message(self, level: str, message: str):
|
||||
"""Log a general message."""
|
||||
if level.casefold() == 'info':
|
||||
self.logger.info(message)
|
||||
elif level.casefold() == 'warning':
|
||||
self.logger.warning(message)
|
||||
elif level.casefold() == 'error':
|
||||
self.logger.error(message)
|
||||
elif level.casefold() == 'debug':
|
||||
self.logger.debug(message)
|
||||
|
||||
# Global logger instance
|
||||
action_logger = ActionLogger()
|
||||
Loading…
Add table
Add a link
Reference in a new issue