mirror of
https://github.com/KenanZhu/AutoLibrary.git
synced 2026-06-20 16:33:03 +08:00
fix(LogManager): 修复 CallerInfoFormatter 中 lineno 类型转换异常
This commit is contained in:
@@ -55,12 +55,17 @@ class CallerInfoFormatter(logging.Formatter):
|
||||
if depth < len(record.stack_list):
|
||||
frame = record.stack_list[-depth-1]
|
||||
record.filename = os.path.basename(frame.filename)
|
||||
record.lineno = frame.lineno
|
||||
record.lineno = int(frame.lineno)
|
||||
record.funcName = frame.name
|
||||
record.name = record.name[-15:].ljust(15)
|
||||
record.levelname = record.levelname.ljust(8)
|
||||
record.filename = record.filename[-20:].ljust(20)
|
||||
record.lineno = f"{record.lineno:04d}"
|
||||
# Ensure lineno is always integer before formatting
|
||||
try:
|
||||
lineno_int = int(record.lineno)
|
||||
except (ValueError, TypeError):
|
||||
lineno_int = 0
|
||||
record.lineno = f"{lineno_int:04d}"
|
||||
|
||||
return super().format(record)
|
||||
|
||||
@@ -187,5 +192,5 @@ def getLogger(
|
||||
) -> logging.Logger:
|
||||
|
||||
if _log_manager_instance is None:
|
||||
raise RuntimeError("LogManager 未初始化,请先调用 LogManager.instance(log_dir) 初始化")
|
||||
raise RuntimeError("LogManager 未初始化, 请先调用 LogManager.instance(log_dir) 初始化")
|
||||
return _log_manager_instance.getLogger(name)
|
||||
|
||||
Reference in New Issue
Block a user