MCPcopy Create free account
hub / github.com/PaddlePaddle/FastDeploy / get_trace_logger

Method get_trace_logger

fastdeploy/logger/logger.py:98–161  ·  view source on GitHub ↗

Log retrieval method compatible with the original interface

(self, name, file_name, without_formater=False, print_to_console=False)

Source from the content-addressed store, hash-verified

96 return logging.getLogger(f"fastdeploy.{name}")
97
98 def get_trace_logger(self, name, file_name, without_formater=False, print_to_console=False):
99 """
100 Log retrieval method compatible with the original interface
101 """
102
103 log_dir = envs.FD_LOG_DIR
104 if not os.path.exists(log_dir):
105 os.makedirs(log_dir, exist_ok=True)
106
107 is_debug = int(envs.FD_DEBUG)
108 # logger = logging.getLogger(name)
109 # Use namespace for isolation to avoid logger overwrite and confusion issues for compatibility with original interface
110 legacy_name = f"legacy.{name}"
111 logger = logging.getLogger(legacy_name)
112
113 # Set log level
114 if is_debug:
115 logger.setLevel(level=logging.DEBUG)
116 else:
117 logger.setLevel(level=logging.INFO)
118
119 # Set formatter
120 formatter = CustomFormatter(
121 "[%(asctime)s] [%(levelname)-8s] (%(filename)s:%(funcName)s:%(lineno)d) %(message)s"
122 )
123
124 # Clear existing handlers (maintain original logic)
125 for handler in logger.handlers[:]:
126 logger.removeHandler(handler)
127
128 # Create main log file handler
129 LOG_FILE = f"{log_dir}/{file_name}"
130 backup_count = int(envs.FD_LOG_BACKUP_COUNT)
131 # handler = LazyFileHandler(filename=LOG_FILE, backupCount=backup_count, level=hanlder_level)
132 handler = DailyRotatingFileHandler(LOG_FILE, backupCount=backup_count)
133
134 # Create ERROR log file handler (new feature)
135 if not file_name.endswith(".log"):
136 file_name = f"{file_name}.log" if "." not in file_name else file_name.split(".")[0] + ".log"
137 ERROR_LOG_FILE = os.path.join(log_dir, file_name.replace(".log", "_error.log"))
138 error_handler = LazyFileHandler(
139 filename=ERROR_LOG_FILE, backupCount=backup_count, level=logging.ERROR, formatter=None
140 )
141
142 if not without_formater:
143 handler.setFormatter(formatter)
144 error_handler.setFormatter(formatter)
145
146 # Add file handlers
147 logger.addHandler(handler)
148 logger.addHandler(error_handler)
149
150 # Console handler
151 if print_to_console:
152 console_handler = logging.StreamHandler()
153 if not without_formater:
154 console_handler.setFormatter(formatter)
155 logger.addHandler(console_handler)

Calls 6

CustomFormatterClass · 0.90
LazyFileHandlerClass · 0.90
splitMethod · 0.80
joinMethod · 0.80
existsMethod · 0.45