Skip to content

_init_logger

_init_logger(filename: PathLike) -> Logger

Initializes the logger for logging to a file.

Parameters:

Name Type Description Default

filename

PathLike

Path to the log file.

required

Returns:

Type Description
Logger

logging.Logger: Initialized logger object.

Note

This function configures logging to output messages to both console and a file.

Source code in dashboard_template_database/utils/logger.py
def _init_logger(filename: os.PathLike) -> logging.Logger:
    """
    Initializes the logger for logging to a file.

    Parameters:
        filename (os.PathLike): Path to the log file.

    Returns:
        logging.Logger: Initialized logger object.

    Note:
        This function configures logging to output messages to both console and a file.
    """
    # Configuration de logging
    logging.basicConfig(
        format="%(asctime)s - %(levelname)s - %(message)s",
        encoding="utf-8",
        level=logging.INFO,
    )

    # Vérification de l'existance du dossier pour le fichier de log
    log_directory = os.path.dirname(filename)

    if (not os.path.exists(log_directory)) & (log_directory != ""):
        os.makedirs(log_directory)

    # Configuration du fichier de logs
    file_handler = logging.FileHandler(filename)
    file_handler.setLevel(logging.INFO)

    # Set a formatter for the file handler
    formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")
    file_handler.setFormatter(formatter)

    # Initialisation du logger
    logger = logging.getLogger()
    logger.addHandler(file_handler)

    return logger