This is an automated email from the ASF dual-hosted git repository. liyuheng pushed a commit to branch lyh/ainode/logger-refactor in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit ce36f229139fa30abd75b12e71d272d9896a6b49 Author: liyuheng <[email protected]> AuthorDate: Thu Jul 31 23:14:28 2025 +0800 optimize --- iotdb-core/ainode/ainode/core/base_logger.py | 44 ++++------------------------ 1 file changed, 6 insertions(+), 38 deletions(-) diff --git a/iotdb-core/ainode/ainode/core/base_logger.py b/iotdb-core/ainode/ainode/core/base_logger.py index 2e05d5dc749..09f5d42cc95 100644 --- a/iotdb-core/ainode/ainode/core/base_logger.py +++ b/iotdb-core/ainode/ainode/core/base_logger.py @@ -33,46 +33,16 @@ from ainode.core.constant import ( ) -class LoggerFilter(logging.Filter): - def filter(self, record): - record.msg = f"{self.custom_log_info()}: {record.msg}" - return True - - @staticmethod - def custom_log_info(): - frame = inspect.currentframe() - stack_trace = inspect.getouterframes(frame) - - pid = os.getpid() - process_name = multiprocessing.current_process().name - - stack_info = "" - frame_info = stack_trace[7] - file_name = frame_info.filename - # if file_name is not in current working directory, find the first "iotdb" in the path - for l in range(len(file_name)): - i = len(file_name) - l - 1 - if file_name[i:].startswith("iotdb/") or file_name[i:].startswith( - "iotdb\\" - ): - file_name = file_name[i:] - break - - stack_info += f"{file_name}:{frame_info.lineno}-{frame_info.function}" - - return f"[{pid}:{process_name}] {stack_info}" - - class BaseLogger: def __init__( self, - sub_dir: str, - name: str | None = None, - std_level: int = logging.INFO, + sub_dir: str ): self.logger_format = logging.Formatter( - fmt="%(asctime)s %(levelname)s %(" "message)s", datefmt="%Y-%m-%d %H:%M:%S" + fmt="%(asctime)s %(levelname)s [%(process)d:%(processName)s] " \ + "%(filename)s:%(funcName)s:%(lineno)d - %(message)s", + datefmt="%Y-%m-%d %H:%M:%S" ) self._lock = threading.Lock() @@ -110,8 +80,6 @@ class BaseLogger: fh.setFormatter(self.logger_format) self.logger.addHandler(fh) - # 3. 统一 Filter - self.logger.addFilter(LoggerFilter()) self.info(f"Logger init successfully. Log will be written to {target_dir}") # interfaces @@ -120,6 +88,6 @@ class BaseLogger: def warning(self, *msg): self._write(self.logger.warning, *msg) def error(self, *msg): self._write(self.logger.error, *msg) - def _write(self, fn, *msg): + def _write(self, function, *msg): with self._lock: - fn(" ".join(map(str, msg))) \ No newline at end of file + function(" ".join(map(str, msg)), stacklevel=3) \ No newline at end of file
