diff --git a/Watchdog_Tables_Sondes.py b/Watchdog_Tables_Sondes.py index 6b7ffca..d2f3547 100644 --- a/Watchdog_Tables_Sondes.py +++ b/Watchdog_Tables_Sondes.py @@ -3,6 +3,7 @@ from datetime import datetime, timedelta import ovh import os from dotenv import load_dotenv +import logging # Charger le .env load_dotenv() @@ -13,7 +14,12 @@ DB_CONFIG = { 'password': os.getenv('DB_PASSWORD'), 'database': os.getenv('DB_NAME') } - +# Configurer le logger +logging.basicConfig( + filename='/var/log/watchdog_sondes.log', + level=logging.INFO, + format='%(asctime)s — %(levelname)s — %(message)s' +) # SMS OVH OVH_CLIENT = ovh.Client( endpoint=os.getenv('OVH_ENDPOINT'), @@ -39,7 +45,7 @@ def verifier_table(cnx, table): def envoyer_sms(message): if not ENVOI_SMS: - print(f"[DEBUG] ENVOI_SMS=0, pas d'envoi. Message :\n{message}") + logging.debug(f"[DEBUG] ENVOI_SMS=0, pas d'envoi. Message :\n{message}") return try: result = OVH_CLIENT.post( @@ -49,9 +55,9 @@ def envoyer_sms(message): noStopClause=True, receivers=[DESTINATAIRE] ) - print(f"SMS envoyé avec job ID : {result['ids']}") + logging.info(f"SMS envoyé avec job ID : {result['ids']}") except Exception as e: - print(f"Erreur lors de l’envoi du SMS : {e}") + logging.error(f"Erreur lors de l’envoi du SMS : {e}") def main(): now = datetime.now() @@ -71,7 +77,7 @@ def main(): f"{table} : aucune donnée depuis {minutes} min (dernière à {last_date.strftime('%H:%M:%S')})" ) else: - print(f"{table} OK — dernière donnée il y a {int(delta.total_seconds()/60)} min.") + logging.info(f"{table} OK — dernière donnée il y a {int(delta.total_seconds()/60)} min.") cnx.close() @@ -79,7 +85,7 @@ def main(): message = "[ALERTE] Données manquantes :\n" + "\n".join(problemes) envoyer_sms(message) else: - print("Tout est OK, aucune alerte.") + logging.info("Tout est OK, aucune alerte.") if __name__ == "__main__": main()