MCPcopy Index your code
hub / github.com/OpenBMB/ChatDev / __init__

Method __init__

utils/structured_logger.py:29–51  ·  view source on GitHub ↗
(self, name: str, log_level: LogLevel = LogLevel.INFO, log_file: str = None)

Source from the content-addressed store, hash-verified

27 """A structured logger that outputs JSON format logs with consistent fields."""
28
29 def __init__(self, name: str, log_level: LogLevel = LogLevel.INFO, log_file: str = None):
30 self.name = name
31 self.log_level = log_level
32 self.logger = logging.getLogger(name)
33 self.logger.setLevel(self._get_logging_level(log_level))
34
35 # Create formatter
36 formatter = logging.Formatter('%(message)s')
37
38 # Create handler
39 if log_file:
40 # Ensure log directory exists
41 log_path = Path(log_file)
42 log_path.parent.mkdir(parents=True, exist_ok=True)
43 handler = logging.FileHandler(log_file)
44 else:
45 handler = logging.StreamHandler(sys.stdout)
46
47 handler.setFormatter(formatter)
48 self.logger.addHandler(handler)
49
50 # For correlation IDs
51 self.correlation_id = None
52
53 def _get_logging_level(self, log_level: LogLevel) -> int:
54 """Convert LogLevel enum to logging module level."""

Callers

nothing calls this directly

Calls 1

_get_logging_levelMethod · 0.95

Tested by

no test coverage detected