log_conf.py 2.6 KB

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