log_conf.py 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. # log conf
  2. import logging
  3. import os
  4. import time
  5. from config import set_config
  6. config_ = set_config()
  7. # 本地日志存储路径
  8. log_path=os.path.join(os.path.dirname(os.path.realpath(__file__)), "logs")
  9. if not os.path.exists(log_path):
  10. os.makedirs(log_path)
  11. # 文件的命名
  12. log_name = os.path.join(log_path, '{}.log'.format(time.strftime('%Y%m%d')))
  13. conf = {
  14. 'version': 1,
  15. 'formatters': {
  16. 'rawFormatter': {
  17. 'class': 'logging.Formatter',
  18. 'format': '%(message)s'
  19. },
  20. 'simpleFormatter': {
  21. 'class': 'logging.Formatter',
  22. 'format': '%(asctime)s %(levelname)s: %(message)s'
  23. }
  24. },
  25. 'handlers': {
  26. 'consoleHandler': {
  27. '()': 'logging.StreamHandler',
  28. 'level': 'DEBUG',
  29. 'formatter': 'simpleFormatter',
  30. },
  31. 'slsHandler': {
  32. '()': 'aliyun.log.QueuedLogHandler',
  33. 'level': 'INFO',
  34. 'formatter': 'rawFormatter',
  35. # custom args:
  36. 'end_point': config_.ALIYUN_LOG.get('ENDPOINT', ''),
  37. 'access_key_id': config_.ALIYUN_LOG.get('ACCESSID', ''),
  38. 'access_key': config_.ALIYUN_LOG.get('ACCESSKEY', ''),
  39. 'project': config_.ALIYUN_LOG.get('PROJECT', ''),
  40. 'log_store': "info",
  41. 'extract_kv': True,
  42. 'extract_json': True
  43. },
  44. 'errorHandler': {
  45. '()': 'aliyun.log.QueuedLogHandler',
  46. 'level': 'ERROR',
  47. 'formatter': 'rawFormatter',
  48. # custom args:
  49. 'end_point': config_.ALIYUN_LOG.get('ENDPOINT', ''),
  50. 'access_key_id': config_.ALIYUN_LOG.get('ACCESSID', ''),
  51. 'access_key': config_.ALIYUN_LOG.get('ACCESSKEY', ''),
  52. 'project': config_.ALIYUN_LOG.get('PROJECT', ''),
  53. 'log_store': "error",
  54. 'extract_kv': True,
  55. 'extract_json': True
  56. },
  57. 'fileHandler': {
  58. '()': 'logging.FileHandler',
  59. 'level': 'INFO',
  60. 'formatter': 'simpleFormatter',
  61. 'filename': log_name,
  62. 'mode': 'a',
  63. 'encoding': 'utf-8'
  64. }
  65. },
  66. 'loggers': {
  67. 'root': {
  68. 'handlers': ['consoleHandler', ],
  69. 'level': 'DEBUG'
  70. },
  71. 'sls': {
  72. 'handlers': ['consoleHandler', 'slsHandler', 'fileHandler'],
  73. 'level': 'INFO',
  74. 'propagate': False
  75. },
  76. 'error': {
  77. 'handlers': ['consoleHandler', 'errorHandler', 'fileHandler'],
  78. 'level': 'ERROR',
  79. 'propagate': False
  80. }
  81. }
  82. }