22 python基础--Log日志
发布日期:2021-05-14 12:22:37 浏览次数:21 分类:精选文章

本文共 7706 字,大约阅读时间需要 25 分钟。

��������������� Logging ������������������

������������

  • ������������������ 1.1 ���������Level��� 1.2 LOG ������ 1.3 ������������������ 1.4 ������������������������������

  • Logging ��������������������� 2.1 ������������������ 2.2 Logging ������������������

  • ������ Logging ��������������� 3.1 ��������������������� appreciation 3.2 ������������ 3.3 ������������������

  • Logging ������������������ 4.1 ������������������ 4.2 Handler ������������ 4.3 Formatter ��� Filter ������

  • ��������������������������� 5.1 ��������������� 5.2 ������������������ 5.3 ������������������������


  • 1. ������������������

    ���������Log���������������������������������������������������������������������������������������������������������������������������������������������������������������

    1.1 ���������Level���

    ������������������������������������������������������������������������������DEBUG���INFO���WARNING���ERROR���CRITICAL���������������������������������������������������������������������DEBUG������������������������������������������������������������������INFO���������������������������������������������������������������ERROR��� CRITICAL ������������������������������������

    1.2 LOG ���������

  • ������������������������������������������������������������������������������������������������������������������
  • ������������������������������������������������������������������������������������
  • ���������������������������������������������������������������������������������
  • 1.3 ������������

    ������������������������������������������������

    • ������������������������������������������������
    • ���������������������������������������������������������������
    • ������������������������������������ DEBUG���INFO ���������
    • ���������������������������������������

    1.4 ������������������������������

    ��������������������������������������� log4j���log4php ��� logging ���������������������������������������������������������������������������������������������������������������logging ���������������������������Logger���Handler���Filter ��� Formatter���


    2. Logging ���������������������

    ������/logging ������������������ pip ���������������������

    pip install logging

    2.1 ������������������

    ������������������������������������������������������������������������������������������������������������ logger.setLevel('DEBUG') ������������������������

    2.2 Logging ������������������

    ������������������������������������ logging ���������

    import logging
    # ��������� logger
    logger = logging.getLogger('mylogger')
    # ��������������������� DEBUG
    logger.setLevel(logging.DEBUG)
    # ������������
    logger.debug('������������ DEBUG ���������������������')
    logger.info('������������ INFO ���������������������')

    3. ������ Logging ���������������

    3.1 ������������

    • logging.debug(msg, *args, **kwargs)��������������� DEBUG ������������������
    • logging.info(msg, *args, **kwargs)��������� INFO ������������������
    • logging.warning(msg, *args, **kwargs)��������� WARNING ������������������
    • logging.error(msg, *args, **kwargs)��������� ERROR ������������������
    • logging.critical(msg, *args, **kwargs)��������� CRITICAL ������������������

    3.2 logging ������

    logging.basicConfig(**kwargs) ��������� root logger ������������������������������������������������������

    • filename���������������������������������
      logging.basicConfig(
      filename='zy.log',
      level=logging.DEBUG,
      format='%(asctime)s, %(levelname)s, %(message)s'
      )

    3.3 ������������

    ���������������������������������������������

    import logging
    import logging.handlers
    # ������������������
    log_format = (
    '%(asctime)s, %(levelname)s, %(message)s, '
    '%(filename)s[:%(lineno)d], '
    '%(name)s)'
    )
    # ������ root logger
    logging.basicConfig(
    handlers=[
    logging.handlers.TimedRotatingFileHandler(
    r'C:\path\to\your\log\file.log',
    when='midnight',
    interval=1,
    backupCount=7,
    atTime=datetime.time(0, 0, 0, 0)
    )
    ],
    level=logging.DEBUG,
    format=log_format
    )
    # ��������������� logger
    sub_logger = logging.getLogger('myapp')
    # ��������� logger ������ logger ���
    logging.getLogger('').addHandler(sub_logger.handler)

    4. Logging ������������������

    4.1 ������������

  • Logger������������������������������
  • Handler���������������������������������������������������������������������
  • Filter������������������������������������������������������������������
  • Formatter������������������������������������������������������������������������������
  • 4.2 Logger ������

    • Logger.setLevel(): ������ logger ������������������������������
    • Logger.addHandler(): ��� Handler ��������������� logger���
    • Logger.addFilter(): ���������������������������������������

    4.3 Handler ������

    • StreamHandler���������������������������������������������������������������
    • FileHandler���������������������������
    • TimedRotatingFileHandler��������� FileHandler ������������������������������������
    • HTTPHandler��������� HTTP ������������������������������������������

    4.4 Format ������

    ��������� Format ���������������

    • asctime��������������������������� 'YYYY-MM-DD HH:MM:SS,mmm'���
    • created��������������������������������� UNIX ������������
    • msecs������������������������������������

    5. ���������������������������

    5.1 ���������������

    ������������������������������������������

    import logging
    class MyLog:
    def __init__(self):
    self.logger = logging.getLogger('mylogger')
    self.logger.setLevel(logging.DEBUG)
    def my_log(self, level, msg):
    msg = str(msg)
    if level == 'DEBUG':
    self.logger.debug(msg)
    elif level == 'INFO':
    self.logger.info(msg)
    elif level == 'WARNING':
    self.logger.warning(msg)
    elif level == 'ERROR':
    self.logger.error(msg)
    else:
    self.logger.critical(msg)
    def debug(self, msg):
    self.my_log('DEBUG', msg)
    def info(self, msg):
    self.my_log('INFO', msg)
    def warning(self, msg):
    self.my_log('WARNING', msg)
    def error(self, msg):
    self.my_log('ERROR', msg)
    def critical(self, msg):
    self.my_log('CRITICAL', msg)
    if __name__ == '__main__':
    mylogger = MyLog()
    mylogger.debug('������������ DEBUG ���������������')
    mylogger.info('������������ INFO ���������������')
    mylogger.warning('������������ WARNING ���������������')
    mylogger.error('������������ ERROR ���������������')
    mylogger.critical('������������ CRITICAL ���������������')

    6. ������������

    import logging
    def main():
    # ������������������
    logging.basicConfig(
    filename='log/test.log',
    level=logging.ERROR,
    format='%(asctime)s, %(levelname)s, %(message)s'
    )
    logger = logging.getLogger('main app')
    logger.info('������������������')
    try:
    # ������������������
    # ������������������������������ logger.error ������������������
    # ...
    except Exception as e:
    logger.error('���������������������%s' % str(e))
    finally:
    logger.info('������������')
    # ������������������������
    if __name__ == '__main__':
    main()

    7. ������������������

  • ���������������������������������������������������������������

    • ������������������������������������������������ Handler ������������������������
  • ��������������������� LOG ���������������������������������

    • ������ FileHandler ��������������������� filename ������������������������������
  • ������������ Loans ������������ LOG���������������

    • ��������������� Handler ������������ TimedRotatingFileHandler ��� FileHandler���������������������������������

  • ������������������������������������������������������������������������������������������������������������������������������������������������

    上一篇:python进阶--多线程
    下一篇:21 python基础--文件持久化

    发表评论

    最新留言

    关注你微信了!
    [***.104.42.241]2025年04月06日 11时54分33秒

    关于作者

        喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
    -- 愿君每日到此一游!

    推荐文章