mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-30 13:10:47 +00:00
added better logging
This commit is contained in:
parent
558df8cd78
commit
518237f6c2
1 changed files with 10 additions and 4 deletions
|
|
@ -5,17 +5,21 @@ from typing import Optional, Union
|
||||||
|
|
||||||
def setup_logger(
|
def setup_logger(
|
||||||
log_file: Optional[Union[str, PathLike[str]]] = None,
|
log_file: Optional[Union[str, PathLike[str]]] = None,
|
||||||
level: int = logging.INFO,
|
level: Optional[int] = None,
|
||||||
overwrite_handler: bool = False,
|
overwrite_handler: bool = False,
|
||||||
) -> logging.Logger:
|
) -> logging.Logger:
|
||||||
# Create a logger and set the logging level
|
# Create a logger and set the logging level
|
||||||
logger = logging.getLogger()
|
logger = logging.getLogger()
|
||||||
logger.setLevel(level)
|
if level is not None:
|
||||||
|
logger.setLevel(level)
|
||||||
|
|
||||||
# if logger already has handlers, just return it
|
# if logger already has handlers, just return it
|
||||||
if logger.hasHandlers() and not overwrite_handler:
|
if logger.hasHandlers() and not overwrite_handler:
|
||||||
return logger
|
return logger
|
||||||
|
|
||||||
|
# Remove existing handlers before adding new ones
|
||||||
|
logger.handlers.clear()
|
||||||
|
|
||||||
# Define the log message format
|
# Define the log message format
|
||||||
log_format = "%(asctime)s [%(levelname)s] %(message)s"
|
log_format = "%(asctime)s [%(levelname)s] %(message)s"
|
||||||
date_format = "%Y-%m-%d %H:%M:%S"
|
date_format = "%Y-%m-%d %H:%M:%S"
|
||||||
|
|
@ -24,13 +28,15 @@ def setup_logger(
|
||||||
# Create a file handler and set the file path and format
|
# Create a file handler and set the file path and format
|
||||||
if log_file:
|
if log_file:
|
||||||
file_handler = logging.FileHandler(log_file)
|
file_handler = logging.FileHandler(log_file)
|
||||||
file_handler.setLevel(level)
|
if level is not None:
|
||||||
|
file_handler.setLevel(level)
|
||||||
file_handler.setFormatter(formatter)
|
file_handler.setFormatter(formatter)
|
||||||
logger.addHandler(file_handler)
|
logger.addHandler(file_handler)
|
||||||
|
|
||||||
# Create a console handler and set the format
|
# Create a console handler and set the format
|
||||||
console_handler = logging.StreamHandler()
|
console_handler = logging.StreamHandler()
|
||||||
console_handler.setLevel(level)
|
if level is not None:
|
||||||
|
console_handler.setLevel(level)
|
||||||
|
|
||||||
# Set the formatter for the handlers
|
# Set the formatter for the handlers
|
||||||
console_handler.setFormatter(formatter)
|
console_handler.setFormatter(formatter)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue