tg_logger.py 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. import telegram_handler
  2. # import python_telegram_logger as ptl
  3. import logging
  4. import time
  5. from colorlog import ColoredFormatter
  6. tg_bot_token = '831964163:AAH7SoaoqWzWIcHaS3yfdmMu-H46hhtUaXw'
  7. tg_chat_id = 1147194
  8. ik_chat_id = 94616973
  9. sun_group_id = -321681009
  10. def set_logger(level=logging.WARNING, name='logger', telegram=False):
  11. """Return a logger with a default ColoredFormatter."""
  12. file_formatter = logging.Formatter("%(asctime)s [%(levelname)s] %(name)s: %(funcName)s - %(message)s")
  13. stream_formatter = ColoredFormatter(
  14. "%(asctime)s [%(log_color)s%(levelname)-8s%(reset)s] %(white)s%(message)s",
  15. datefmt=None,
  16. reset=True,
  17. log_colors={
  18. 'DEBUG': 'cyan',
  19. 'INFO': 'green',
  20. 'WARNING': 'yellow',
  21. 'ERROR': 'red',
  22. 'CRITICAL': 'red',
  23. }
  24. )
  25. logger = logging.getLogger(name)
  26. stream_handler = logging.StreamHandler()
  27. stream_handler.setFormatter(stream_formatter)
  28. log_handler = logging.FileHandler("fits_parse.log")
  29. log_handler.setFormatter(file_formatter)
  30. logger.addHandler(stream_handler)
  31. logger.addHandler(log_handler)
  32. if telegram:
  33. tg_handler = telegram_handler.TelegramHandler(tg_bot_token, sun_group_id)
  34. tg_formatter = telegram_handler.MarkdownFormatter()
  35. tg_handler.setFormatter(tg_formatter)
  36. logger.addHandler(tg_handler)
  37. logger.setLevel(level)
  38. return logger
  39. # logger = logging.getLogger('tg_test3')
  40. # handler = tgh.TelegramHandler(tg_token, sun_group_id)
  41. # formatter = tgh.HtmlFormatter()
  42. # # handler = ptl.Handler(tg_token, [sun_group_id])
  43. # # formatter = ptl.MarkdownFormatter()
  44. # handler.setFormatter(formatter)
  45. # logger.addHandler(handler)
  46. # logger.setLevel(logging.INFO)
  47. logger = set_logger(telegram=True)
  48. def send_test():
  49. logger.info('TEST')
  50. time.sleep(1)
  51. logger.error('TEST')
  52. time.sleep(1)
  53. logger.warning('warn')
  54. try:
  55. 10 / 0
  56. except Exception as e:
  57. logger.warning('Something not good, get Exception: {}'.format(e))
  58. time.sleep(1)
  59. logger.error('Something not good, get Exception: {}'.format(e))
  60. send_test()