36 lines
1.2 KiB
Python
36 lines
1.2 KiB
Python
import os
|
|
import logging
|
|
|
|
def setup_logger(log_filename: str, dossier_logs: str = "/var/log/Cuisine_Saclay") -> None:
|
|
"""
|
|
Configure le logger pour écrire à la fois dans un fichier et sur la console.
|
|
|
|
:param log_filename: Nom du fichier de log (exemple : 'Cuisine_Saclay.log')
|
|
:param dossier_logs: Dossier où enregistrer les logs (par défaut : /var/log/Cuisine_Saclay)
|
|
"""
|
|
|
|
# 📁 Créer le dossier s'il n'existe pas
|
|
os.makedirs(dossier_logs, exist_ok=True)
|
|
|
|
# 📄 Chemin complet du fichier de log
|
|
logfile = os.path.join(dossier_logs, log_filename)
|
|
|
|
# 📝 Configuration de base du logger (fichier)
|
|
logging.basicConfig(
|
|
filename=logfile,
|
|
level=logging.INFO,
|
|
format="%(asctime)s - %(levelname)s - %(message)s",
|
|
filemode="a" # ajouter au fichier existant
|
|
)
|
|
|
|
# 🔔 Ajout de la sortie console
|
|
console = logging.StreamHandler()
|
|
console.setLevel(logging.INFO)
|
|
formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")
|
|
console.setFormatter(formatter)
|
|
|
|
# 👇 Ajouter le handler console au logger racine
|
|
logging.getLogger('').addHandler(console)
|
|
|
|
logging.info(f"Logger initialisé. Fichier de log : {logfile}")
|