Public Access
28 lines
1.1 KiB
Python
28 lines
1.1 KiB
Python
import os
|
|
from datetime import datetime
|
|
|
|
# Le fichier de destination pour les logs locaux
|
|
LOG_FILE = "aethas_logs.txt"
|
|
|
|
def log_event(niveau, source, message):
|
|
"""
|
|
Enregistre un événement dans le fichier de log local.
|
|
Déclenche l'envoi d'un e-mail si le niveau est ERROR ou CRITICAL.
|
|
"""
|
|
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
|
log_line = f"[{timestamp}] [{niveau}] [{source}] {message}\n"
|
|
|
|
# 1. Écriture sécurisée dans le fichier de log local
|
|
try:
|
|
with open(LOG_FILE, "a", encoding="utf-8") as f:
|
|
f.write(log_line)
|
|
except Exception as e:
|
|
print(f"ÉCHEC D'ÉCRITURE LOG : Impossible d'écrire dans {LOG_FILE} : {e}")
|
|
|
|
# 2. Déclenchement de l'alerte e-mail pour la phase de Debug (Import local pour éviter l'import circulaire)
|
|
if niveau in ["ERROR", "CRITICAL"]:
|
|
try:
|
|
from modules.debug_mailer import envoyer_alerte_debug
|
|
envoyer_alerte_debug(niveau, source, message)
|
|
except Exception as mail_error:
|
|
print(f"ÉCHEC D'ENVOI E-MAIL : Impossible d'avertir l'administrateur : {mail_error}") |