log.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. """
  2. @author: luojunhui
  3. """
  4. import time
  5. import json
  6. from aliyun.log import LogClient, PutLogsRequest, LogItem
  7. def logging(code, trace_id=None, info=None, port=None, alg=None, function=None, data=None):
  8. """
  9. :param trace_id: 请求唯一 id
  10. :param data: 信息
  11. :param code: 日志状态码
  12. :param info: 日志消息
  13. :param port: 请求接口
  14. :param alg: 算法主体
  15. :param function: 方法信息
  16. :return:
  17. """
  18. if data is None:
  19. data = {}
  20. accessKeyId = "LTAIP6x1l3DXfSxm"
  21. accessKey = "KbTaM9ars4OX3PMS6Xm7rtxGr1FLon"
  22. project = "changwen-alg"
  23. log_store = "weixin_video_match"
  24. endpoint = "cn-hangzhou.log.aliyuncs.com"
  25. # 创建 LogClient 实例
  26. client = LogClient(endpoint, accessKeyId, accessKey)
  27. log_group = []
  28. log_item = LogItem()
  29. contents = [
  30. (f"code", str(code)),
  31. (f"alg", str(alg)),
  32. (f"function", str(function)),
  33. (f"info", str(info)),
  34. (f"port", str(port)),
  35. (f"data", json.dumps(data, ensure_ascii=False) if data else ""),
  36. (f"trace_id", str(trace_id)),
  37. ("timestamp", str(int(time.time()))),
  38. ]
  39. log_item.set_contents(contents)
  40. log_group.append(log_item)
  41. # 写入日志
  42. request = PutLogsRequest(
  43. project=project,
  44. logstore=log_store,
  45. topic="",
  46. source="",
  47. logitems=log_group,
  48. compress=False,
  49. )
  50. client.put_logs(request)