base.py 930 B

12345678910111213141516171819202122232425262728293031323334
  1. import builtins
  2. import datetime
  3. import socket
  4. import threading
  5. from scriptBase.loki_log import *
  6. # 保存原始的 print 函数
  7. original_print = print
  8. # 定义自定义的输出函数
  9. def custom_print(*args, **kwargs):
  10. # 获取当前时间
  11. current_time = datetime.datetime.now()
  12. # 添加时间前缀
  13. prefix = f"[{current_time}]"
  14. # 将时间前缀与要打印的内容拼接
  15. modified_args = (prefix,) + args
  16. # 调用原始的 print 函数打印内容
  17. original_print(*modified_args, **kwargs)
  18. dstStr = ' '.join(str(arg) for arg in args)
  19. log_thread = threading.Thread(
  20. target=log_to_loki,
  21. args=(socket.gethostname(), dstStr),
  22. daemon=True # 设为守护线程(主线程退出时自动结束)
  23. )
  24. log_thread.start() # 启动线程(不阻塞主线程)
  25. # 替换内置的 print 函数为自定义的输出函数
  26. builtins.print = custom_print