minhhungg commited on
Commit
5e0196d
·
1 Parent(s): 28519ce

Add logger file

Browse files
Files changed (1) hide show
  1. logger_config.py +59 -0
logger_config.py ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import logging
2
+ import logging.handlers
3
+ import os
4
+ from datetime import datetime
5
+
6
+ def setup_logging(log_dir="logs"):
7
+ """Configure logging with both file and console handlers"""
8
+ # Create logs directory if it doesn't exist
9
+ if not os.path.exists(log_dir):
10
+ os.makedirs(log_dir)
11
+
12
+ # Create formatters
13
+ file_formatter = logging.Formatter(
14
+ '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
15
+ )
16
+ console_formatter = logging.Formatter(
17
+ '%(levelname)s - %(message)s'
18
+ )
19
+
20
+ # Create handlers
21
+ # File handler with daily rotation
22
+ log_file = os.path.join(log_dir, f"mcp_{datetime.now().strftime('%Y%m%d')}.log")
23
+ file_handler = logging.handlers.TimedRotatingFileHandler(
24
+ log_file,
25
+ when="midnight",
26
+ interval=1,
27
+ backupCount=7
28
+ )
29
+ file_handler.setFormatter(file_formatter)
30
+ file_handler.setLevel(logging.DEBUG)
31
+
32
+ # Console handler
33
+ console_handler = logging.StreamHandler()
34
+ console_handler.setFormatter(console_formatter)
35
+ console_handler.setLevel(logging.INFO)
36
+
37
+ # Create root logger
38
+ root_logger = logging.getLogger()
39
+ root_logger.setLevel(logging.DEBUG)
40
+
41
+ # Remove existing handlers to avoid duplicates
42
+ root_logger.handlers = []
43
+
44
+ # Add handlers
45
+ root_logger.addHandler(file_handler)
46
+ root_logger.addHandler(console_handler)
47
+
48
+ # Create specific loggers
49
+ loggers = {
50
+ 'server': logging.getLogger('server'),
51
+ 'research': logging.getLogger('research'),
52
+ 'synthesis': logging.getLogger('synthesis'),
53
+ 'client': logging.getLogger('client')
54
+ }
55
+
56
+ for logger in loggers.values():
57
+ logger.setLevel(logging.DEBUG)
58
+
59
+ return loggers