wiizm commited on
Commit
43c70b0
·
verified ·
1 Parent(s): 7ea8a03

Upload app\core\logger.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. app//core//logger.py +67 -0
app//core//logger.py ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ 로깅 설정 모듈
3
+ """
4
+
5
+ import logging
6
+ import sys
7
+ from pathlib import Path
8
+ from typing import Optional
9
+
10
+ # 로그 디렉토리
11
+ LOG_DIR = Path(__file__).parent.parent.parent / 'logs'
12
+ LOG_DIR.mkdir(exist_ok=True)
13
+
14
+ # 로그 포맷
15
+ LOG_FORMAT = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
16
+ DATE_FORMAT = '%Y-%m-%d %H:%M:%S'
17
+
18
+
19
+ def get_logger(name: str, level: int = logging.INFO) -> logging.Logger:
20
+ """
21
+ 로거 인스턴스 생성 및 반환
22
+
23
+ Args:
24
+ name: 로거 이름 (일반적으로 __name__ 사용)
25
+ level: 로그 레벨 (기본값: INFO)
26
+
27
+ Returns:
28
+ 설정된 로거 인스턴스
29
+ """
30
+ logger = logging.getLogger(name)
31
+
32
+ # 이미 핸들러가 설정되어 있으면 기존 로거 반환
33
+ if logger.handlers:
34
+ return logger
35
+
36
+ logger.setLevel(level)
37
+
38
+ # 콘솔 핸들러
39
+ console_handler = logging.StreamHandler(sys.stdout)
40
+ console_handler.setLevel(level)
41
+ console_formatter = logging.Formatter(LOG_FORMAT, datefmt=DATE_FORMAT)
42
+ console_handler.setFormatter(console_formatter)
43
+ logger.addHandler(console_handler)
44
+
45
+ # 파일 핸들러 (애플리케이션 로그)
46
+ file_handler = logging.FileHandler(
47
+ LOG_DIR / 'app.log',
48
+ encoding='utf-8'
49
+ )
50
+ file_handler.setLevel(logging.DEBUG)
51
+ file_formatter = logging.Formatter(LOG_FORMAT, datefmt=DATE_FORMAT)
52
+ file_handler.setFormatter(file_formatter)
53
+ logger.addHandler(file_handler)
54
+
55
+ # 에러 전용 파일 핸들러
56
+ error_handler = logging.FileHandler(
57
+ LOG_DIR / 'error.log',
58
+ encoding='utf-8'
59
+ )
60
+ error_handler.setLevel(logging.ERROR)
61
+ error_handler.setFormatter(file_formatter)
62
+ logger.addHandler(error_handler)
63
+
64
+ return logger
65
+
66
+
67
+