Coverage for hadal/custom_logger.py: 100%
9 statements
« prev ^ index » next coverage.py v7.3.1, created at 2023-11-09 22:55 +0300
« prev ^ index » next coverage.py v7.3.1, created at 2023-11-09 22:55 +0300
1"""This module contains the `fuction default custom logger` that can be used to create a logger with a specified name, level, and format."""
2from __future__ import annotations
4import logging
7def default_custom_logger(
8 name: str,
9 level: int | None = logging.DEBUG,
10 log_format: str | None = None,
11) -> logging.Logger:
12 """Create a logger with a specified name, level, and format.
14 Args:
15 name (str): The name of the logger.
16 level (int | None, optional): Logging level.
17 log_format (str | None, optional): The format of the log messages. If `None`, the default format is `%(asctime)s | %(name)s | %(module)s | %(levelname)s | %(message)s`.
19 Returns:
20 logger (logging.Logger): A logger object with the specified name, logging level, and format.
21 """
22 if log_format is None:
23 log_format = "%(asctime)s | %(name)s | %(module)s | %(levelname)s | %(message)s"
25 datefmt = "%Y-%m-%d %H:%M:%S"
27 logger = logging.basicConfig(level=level, format=log_format, datefmt=datefmt, encoding="utf-8")
28 logger = logging.getLogger(name=name)
30 return logger