| 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 |
|
|