|
|
|
|
|
|
|
|
| import logging
|
| from pathlib import Path
|
|
|
|
|
| def get_logger(name: str):
|
|
|
| log_dir = Path("logs")
|
| log_dir.mkdir(exist_ok=True)
|
|
|
| logger = logging.getLogger(name)
|
|
|
|
|
| if logger.handlers:
|
| return logger
|
|
|
| logger.setLevel(logging.INFO)
|
|
|
| formatter = logging.Formatter(
|
| fmt=(
|
| "%(asctime)s | "
|
| "%(levelname)s | "
|
| "%(name)s | "
|
| "%(message)s"
|
| ),
|
| datefmt="%Y-%m-%d %H:%M:%S"
|
| )
|
|
|
|
|
| console_handler = logging.StreamHandler()
|
| console_handler.setFormatter(formatter)
|
|
|
|
|
| file_handler = logging.FileHandler(
|
| "logs/training.log",
|
| mode="a",
|
| encoding="utf-8"
|
| )
|
| file_handler.setFormatter(formatter)
|
|
|
| logger.addHandler(console_handler)
|
| logger.addHandler(file_handler)
|
|
|
| return logger |