| import os | |
| import datetime | |
| import logging | |
| from pathlib import Path | |
| class KeepDir: | |
| def __init__(self): | |
| self.original_dir = os.getcwd() | |
| def __enter__(self): | |
| return self | |
| def __exit__(self, exc_type, exc_val, exc_tb): | |
| os.chdir(self.original_dir) | |
| def chdir(self, path): | |
| os.chdir(path) | |
| def setup_logger(): | |
| HOME = Path.cwd() | |
| log_directory = HOME / 'log' | |
| if not log_directory.exists(): | |
| log_directory.mkdir() | |
| with KeepDir() as keep_dir: | |
| keep_dir.chdir(log_directory) | |
| log_filename = f'{datetime.date.today()}.log' | |
| logging.basicConfig( | |
| level=logging.INFO, | |
| format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', | |
| handlers=[ | |
| logging.FileHandler(log_filename), | |
| ] | |
| ) | |
| logger = logging.getLogger(__name__) | |
| return logger | |