log.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. # -*- coding: utf-8 -*-
  2. # @Time : 2021/6/7 11:02
  3. # @Author : XuJiakai
  4. # @File : log
  5. # @Software: PyCharm
  6. import logging
  7. import os
  8. import time
  9. import platform
  10. AUTO_WRITE_LOG_FILE = False if platform.system() == "Linux" else True
  11. def get_log(log_name="my_log", write_file=AUTO_WRITE_LOG_FILE):
  12. logging.basicConfig()
  13. logger = logging.getLogger(log_name)
  14. logger.setLevel(logging.INFO)
  15. logger.propagate = False
  16. # 日志输出格式
  17. formatter = logging.Formatter('[%(asctime)s - ' + log_name + ':%(lineno)d] - %(levelname)s: %(message)s')
  18. if write_file:
  19. # 创建logs文件夹
  20. cur_path = os.path.dirname(os.path.realpath(__file__))
  21. log_path = os.path.join(cur_path, 'logs')
  22. # 如果不存在这个logs文件夹,就自动创建一个
  23. if not os.path.exists(log_path):
  24. os.mkdir(log_path)
  25. log_name = os.path.join(log_path, '%s.log' % time.strftime('%Y_%m_%d'))
  26. fh = logging.FileHandler(log_name, 'a', encoding='utf-8') # 这个是python3的
  27. # 创建一个FileHandler,用于写到本地
  28. fh.setLevel(logging.INFO)
  29. fh.setFormatter(formatter)
  30. logger.addHandler(fh)
  31. # 创建一个StreamHandler,用于输出到控制台
  32. ch = logging.StreamHandler()
  33. ch.setLevel(logging.INFO)
  34. ch.setFormatter(formatter)
  35. logger.addHandler(ch)
  36. return logger
  37. if __name__ == '__main__':
  38. print(AUTO_WRITE_LOG_FILE)
  39. pass