31 lines
968 B
Python
31 lines
968 B
Python
import logging
|
|
import os
|
|
|
|
def setup_logger(log_file='app.log', log_level=logging.DEBUG):
|
|
# 로거 생성
|
|
logger = logging.getLogger("MainLogger")
|
|
logger.setLevel(log_level)
|
|
|
|
# 기존 핸들러 제거
|
|
if logger.hasHandlers():
|
|
logger.handlers.clear()
|
|
|
|
# 콘솔 핸들러 설정
|
|
console_handler = logging.StreamHandler()
|
|
console_handler.setLevel(log_level)
|
|
console_format = logging.Formatter('[%(levelname)s] %(message)s')
|
|
console_handler.setFormatter(console_format)
|
|
|
|
# 파일 핸들러 설정
|
|
log_file_path = os.path.join(os.getcwd(), log_file)
|
|
file_handler = logging.FileHandler(log_file_path, encoding="utf-8")
|
|
file_handler.setLevel(log_level)
|
|
file_format = logging.Formatter('%(asctime)s - %(name)s - [%(levelname)s] - %(message)s')
|
|
file_handler.setFormatter(file_format)
|
|
|
|
# 핸들러 추가
|
|
logger.addHandler(console_handler)
|
|
logger.addHandler(file_handler)
|
|
|
|
return logger
|