log.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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. ("timestamp", str(int(time.time()))),
  37. ]
  38. log_item.set_contents(contents)
  39. log_group.append(log_item)
  40. # 写入日志
  41. request = PutLogsRequest(
  42. project=project,
  43. logstore=log_store,
  44. topic="",
  45. source="",
  46. logitems=log_group,
  47. compress=False,
  48. )
  49. client.put_logs(request)