From 24f0f3e3e1a709a1e272e11f2b4f4bbc57154bf7357e0137ab836e8d48fc8203 Mon Sep 17 00:00:00 2001 From: andrea Date: Sun, 27 Jul 2025 08:40:01 +0200 Subject: [PATCH] daily logs with a new file hanlder --- utils/logs.py | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/utils/logs.py b/utils/logs.py index 574802a..c89a776 100644 --- a/utils/logs.py +++ b/utils/logs.py @@ -1,7 +1,9 @@ +import os as _os import logging as _logging from datetime import datetime as _dt logger= _logging.getLogger(__name__) +file_handler= None def get_log_name(): now= _dt.now() @@ -10,23 +12,47 @@ def get_log_name(): if month < 10: month= f'0{month}' day= now.day if day < 10: day= f'0{day}' - #fname= f'battle_royale-{now.year}{month}{day}-{now.time()}.log' fname= f'battle_royale-{now.year}{month}{day}.log' return fname -_logging.basicConfig(filename= get_log_name(), encoding= 'utf-8', format='%(asctime)s - %(levelname)s - %(message)s', level= _logging.INFO) +def _create_file_handler(): + current_log_file = get_log_name() + file_handler = _logging.FileHandler(current_log_file, encoding='utf-8') + formatter = _logging.Formatter('%(asctime)s - %(levelname)s - %(message)s') + file_handler.setFormatter(formatter) + logger.addHandler(file_handler) + logger.setLevel(_logging.INFO) # Set the logging level + +def _setup_logging_file(): + global file_handler + current_log_file = get_log_name() + + if not file_handler: return _create_file_handler() + if file_handler.baseFilename == _os.path.abspath(current_log_file): return + + logger.removeHandler(file_handler) + file_handler.close() + _create_file_handler() + +#_logging.basicConfig(filename= get_log_name(), encoding= 'utf-8', format='%(asctime)s - %(levelname)s - %(message)s', level= _logging.INFO) +_setup_logging_file() def log_debug(txt): + _setup_logging_file() logger.debug(txt) def log_info(txt): + _setup_logging_file() logger.info(txt) def log_warning(txt): + _setup_logging_file() logger.warning(txt) def log_error(txt): + _setup_logging_file() logger.error(txt) def log_critical(txt): + _setup_logging_file() logger.critical(txt)