全部产品
云市场

10. 如何持久化应用日志

更新时间:2019-09-18 15:36:33

本功能要求客户端版本必须为3.3.31及以上
rpa.logger提供了use_logger方法,用来设置自定义的日志记录程序,结合python的logging库即可实现日志持久化的功能。
示例代码:

  1. from rpa.core import *
  2. from rpa.utils import *
  3. import rpa
  4. import os
  5. import logging
  6. from logging.handlers import TimedRotatingFileHandler
  7. def use_my_logger():
  8. """ 设置自定义的日志记录程序
  9. 使用TimedRotatingFileHandler按日期循环记录日志,可替换为任意handler
  10. """
  11. logger = logging.getLogger('mylogger')
  12. logger.setLevel(logging.DEBUG) # 设置根日志级别
  13. log_file = os.path.join(os.getenv('APPDATA'), r'AliRPA\log\myapp.log') # 设置日志文件存放位置 (%appdata%\AliRPA\log\app\myapp.log)
  14. formatter = logging.Formatter('%(asctime)s[%(name)s][%(levelname)s] %(message)s')
  15. handler = TimedRotatingFileHandler(log_file, when='D', interval=1)
  16. handler.setFormatter(formatter)
  17. handler.suffix = '%Y%m%d'
  18. handler.setLevel(logging.DEBUG) # 设置当前handler日志级别
  19. logger.addHandler(handler)
  20. rpa.logger.use_logger(logger) # 替换为自定义的logger
  21. def start():
  22. # 在此处开始编写您的应用
  23. use_my_logger()
  24. print('message 1')
  25. rpa.logger.info('info-message')
  26. rpa.logger.warn('warn-message')
  27. rpa.logger.error('error-message')