浏览代码

feat(logging): 添加微秒级时间戳支持到日志格式化

引入自定义的 MicrosecondFormatter 来显示日志时间戳的微秒部分,便于更精确的日志时间追踪
skyfffire 3 天之前
父节点
当前提交
af08b2de91
共有 1 个文件被更改,包括 13 次插入3 次删除
  1. 13 3
      src/leadlag/strategy.py

+ 13 - 3
src/leadlag/strategy.py

@@ -32,10 +32,20 @@ logger.setLevel(logging.INFO)
 
 # 如果logger还没有handler,添加一个
 if not logger.handlers:
-    # 创建formatter
-    formatter = logging.Formatter(
+    # 创建自定义formatter以支持微秒
+    class MicrosecondFormatter(logging.Formatter):
+        def formatTime(self, record, datefmt=None):
+            from datetime import datetime
+            ct = datetime.fromtimestamp(record.created)
+            if datefmt:
+                s = ct.strftime(datefmt)
+            else:
+                s = ct.strftime('%Y-%m-%d %H:%M:%S.%f')
+            return s
+    
+    formatter = MicrosecondFormatter(
         fmt='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
-        datefmt='%Y-%m-%d %H:%M:%S'
+        datefmt='%Y-%m-%d %H:%M:%S.%f'
     )
     
     # 添加控制台handler