aliyunLog.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. """
  2. @author: luojunhui
  3. """
  4. import time
  5. import json
  6. from aliyun.log import LogClient, PutLogsRequest, LogItem
  7. class AliyunArticleLog(object):
  8. """
  9. Aliyun 长文日志
  10. """
  11. def __init__(self, request_id, alg):
  12. self.request_id = request_id
  13. self.alg = alg
  14. def log(self, code, mode="prod", msg=None, data=None):
  15. """
  16. :param mode: 生产环境:prod, 测试环境: dev
  17. :param code: 状态码
  18. :param msg: 消息
  19. :param data: json
  20. """
  21. if data is None:
  22. data = {}
  23. accessKeyId = "LTAIP6x1l3DXfSxm"
  24. accessKey = "KbTaM9ars4OX3PMS6Xm7rtxGr1FLon"
  25. project = "changwen-alg"
  26. log_store = "long_articles_algorithm"
  27. endpoint = "cn-hangzhou.log.aliyuncs.com"
  28. # 创建 LogClient 实例
  29. client = LogClient(endpoint, accessKeyId, accessKey)
  30. log_group = []
  31. log_item = LogItem()
  32. contents = [
  33. (f"mode", str(mode)),
  34. (f"code", str(code)),
  35. (f"alg", str(self.alg)),
  36. (f"msg", str(msg)),
  37. (f"data", json.dumps(data, ensure_ascii=False) if data else ""),
  38. (f"request_id", str(self.request_id)),
  39. ("timestamp", str(int(time.time()))),
  40. ]
  41. log_item.set_contents(contents)
  42. log_group.append(log_item)
  43. # 写入日志
  44. request = PutLogsRequest(
  45. project=project,
  46. logstore=log_store,
  47. topic="",
  48. source="",
  49. logitems=log_group,
  50. compress=False,
  51. )
  52. try:
  53. client.put_logs(request)
  54. except Exception as e:
  55. print("日志失败")
  56. # print(e)