
本文共 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# ��������� loggerlogger = logging.getLogger('mylogger')# ��������������������� DEBUGlogger.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 loggingimport logging.handlers# ������������������log_format = ( '%(asctime)s, %(levelname)s, %(message)s, ' '%(filename)s[:%(lineno)d], ' '%(name)s)')# ������ root loggerlogging.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)# ��������������� loggersub_logger = logging.getLogger('myapp')# ��������� logger ������ logger ���logging.getLogger('').addHandler(sub_logger.handler)
4. Logging ������������������
4.1 ������������
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 loggingclass 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 loggingdef 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���������������������������������
������������������������������������������������������������������������������������������������������������������������������������������������
发表评论
最新留言
关于作者
