35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
# -*- coding: utf-8 -*-
|
|
import yaml
|
|
import logging
|
|
from pathlib import Path
|
|
from datetime import datetime
|
|
from logging.handlers import TimedRotatingFileHandler
|
|
|
|
|
|
def create_logger(file_name):
|
|
now_date = datetime.now().strftime('%Y%m%d')
|
|
log_filename = os.path.join(Path(__file__).resolve().parent.parent, f'logs/{file_name}_{now_date}.log')
|
|
path = Path(log_filename).resolve().parent
|
|
os.makedirs(path, exist_ok=True)
|
|
|
|
logger = logging.getLogger("emu_dsl")
|
|
# 防止重复添加handler
|
|
if logger.handlers:
|
|
return logger
|
|
|
|
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
|
|
file_handler = TimedRotatingFileHandler(log_filename, when='midnight', backupCount=7, encoding='utf-8')
|
|
file_handler.setFormatter(formatter)
|
|
logger.addHandler(file_handler)
|
|
logger.setLevel(logging.INFO)
|
|
return logger
|
|
|
|
|
|
def read_config(path):
|
|
if Path(path).exists():
|
|
with open(path, encoding="utf-8") as f:
|
|
config = yaml.safe_load(f)
|
|
return config
|
|
else:
|
|
raise FileNotFoundError
|