Skip to content

Instantly share code, notes, and snippets.

@ugo-nama-kun
Last active April 25, 2022 04:39
Show Gist options
  • Save ugo-nama-kun/d17d56f3ce01c2228cb9bd005d127407 to your computer and use it in GitHub Desktop.
Save ugo-nama-kun/d17d56f3ce01c2228cb9bd005d127407 to your computer and use it in GitHub Desktop.
Logger の取り方
import os
from datetime import datetime
import logging.config
from logging import StreamHandler, FileHandler, Formatter
from logging import INFO, DEBUG, NOTSET
def get_new_logger(name, file_path="./log"):
# ストリームハンドラの設定
stream_handler = StreamHandler()
stream_handler.setLevel(INFO)
stream_handler.setFormatter(Formatter("%(message)s"))
# 保存先の有無チェック
if not os.path.isdir(file_path):
os.makedirs(file_path, exist_ok=True)
# ファイルハンドラの設定
file_handler = FileHandler(
f"./log/run-{datetime.now():%Y%m%d%H%M%S}.log"
)
file_handler.setLevel(DEBUG)
file_handler.setFormatter(
Formatter("%(asctime)s@ %(name)s [%(levelname)s] %(funcName)s: %(message)s")
)
logging.basicConfig(level=NOTSET, handlers=[stream_handler, file_handler])
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
return logger
logger = get_new_logger(__name__)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment