import logging from logging.handlers import RotatingFileHandler import time from datetime import datetime class Log(object): def __init__(self) : # création de l'objet logger qui va nous servir à écrire dans les logs self.logger = logging.getLogger() # on met le niveau du logger à DEBUG, comme ça il écrit tout self.logger.setLevel(logging.DEBUG) # création d'un formateur qui va ajouter le temps, le niveau # de chaque message quand on écrira un message dans le log formatter = logging.Formatter('%(asctime)s :: %(levelname)s :: %(message)s') # création d'un handler qui va rediriger une écriture du log vers # un fichier en mode 'append', avec 1 backup et une taille max de 1Mo file_handler = RotatingFileHandler('m/fichier/log', 'a', 1000000, 1) # on lui met le niveau sur DEBUG, on lui dit qu'il doit utiliser le formateur # créé précédement et on ajoute ce handler au logger file_handler.setLevel(logging.DEBUG) file_handler.setFormatter(formatter) self.logger.addHandler(file_handler) # création d'un second handler qui va rediriger chaque écriture de log # sur la console self.steam_handler = logging.StreamHandler() self.steam_handler.setLevel(logging.DEBUG) logger.addHandler(steam_handler) def printL(self,pMsg): self.logger.info(pMsg)