|
import logging |
|
import os |
|
|
|
def get_logger(name: str): |
|
logs_dir = "logs" |
|
os.makedirs(logs_dir, exist_ok=True) |
|
|
|
logger = logging.getLogger(name) |
|
logger.setLevel(logging.DEBUG) |
|
|
|
|
|
file_handler = logging.FileHandler(os.path.join(logs_dir, "pipeline.log")) |
|
file_handler.setLevel(logging.DEBUG) |
|
|
|
|
|
console_handler = logging.StreamHandler() |
|
console_handler.setLevel(logging.INFO) |
|
|
|
|
|
formatter = logging.Formatter( |
|
"[%(asctime)s] [%(levelname)s] - %(name)s - %(message)s", "%Y-%m-%d %H:%M:%S" |
|
) |
|
file_handler.setFormatter(formatter) |
|
console_handler.setFormatter(formatter) |
|
|
|
|
|
if not logger.handlers: |
|
logger.addHandler(file_handler) |
|
logger.addHandler(console_handler) |
|
|
|
return logger |
|
|