__init__.py 1.7 KB

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