• logging 模块


    import logging
      
      
    logging.basicConfig(filename='log.log',
                        format='%(asctime)s - %(name)s - %(levelname)s -%(module)s:  %(message)s',
                        datefmt='%Y-%m-%d %H:%M:%S %p',
                        level=logging.WARNING)
      
    logging.debug('debug')
    logging.info('info')
    logging.warning('warning')
    logging.error('error')
    logging.critical('critical')
    logging.log(10,'log')
    

    日志等级:

    CRITICAL = 50
    FATAL = CRITICAL
    ERROR = 40
    WARNING = 30
    WARN = WARNING
    INFO = 20
    DEBUG = 10
    NOTSET = 0

    Logger.exception(msg[, *args]) 

    以ERROR级别记录日志消息,异常跟踪信息将被自动添加到日志消息里。Logger.exception通过用在异常处理块中,如:

    复制代码
    import logging
    import os
    logging.basicConfig(format="%(levelname)s,%(message)s",filename=os.path.join(os.getcwd(),'log.txt'),level=logging.DEBUG)
    log = logging.getLogger('root')   #Logger对象
    try:
        raise Exception,u'错误异常'
    except:
        log.exception('exception')  #异常信息被自动添加到日志消息中  
    打开文件,显示如下:
    '''ERROR,exception Traceback (most recent call last): File "E:projectpysrclog3.py", line 12, in <module> raise Exception,u'错误异常' Exception: 错误异常 '''

     

    例: 自定义错误类型并利用 logging 记录登录成功失败信息

    import logging
    from datetime import datetime
    
    '''
    try:
        pass
    except 自定义错误类:
        logging.exception()
    
    '''
    
    
    logging.basicConfig(filename='log.log',
                        format='%(asctime)s - %(name)s - %(levelname)s -%(module)s:  %(message)s',
                        datefmt='%Y-%m-%d %H:%M:%S %p',
                        level=logging.INFO)
    
    #自定义错误类
    class login_sucess(Exception):
        pass
    
    class login_fail(Exception):
        pass
    
    
    
    def login():
        username = input('please input username:')
        passwd = input('please input passwd:')
        if username == 'yang' and passwd == '123':
            try:
                #主动抛出异常
                raise login_sucess('login sucess username: %s  time:%s'% (username, datetime.now()))
            #利用 logging 记录日志  
            except Exception as e:
                logging.info(e)
            finally:
                print('welcome back!')
        else:
            try:
                raise login_sucess('login fail username: %s  time:%s' % (username, datetime.now()))
            except Exception as e:
                logging.error(e)
            finally:
                print('username or passwd is fail!')
    
    
    if __name__ == '__main__':
        login()
    

      

  • 相关阅读:
    优步UBER司机全国各地奖励政策汇总 (3月21日-3月27日)
    成都Uber优步司机奖励政策(3月21日)
    北京Uber优步司机奖励政策(3月21日)
    滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(3月21日)
    成都Uber优步司机奖励政策(3月20日)
    北京Uber优步司机奖励政策(3月20日)
    Java多线程-线程的同步与锁
    Java多线程-线程的生命周期
    Java多线程-概念与原理
    Java多线程教程
  • 原文地址:https://www.cnblogs.com/yangxiaolan/p/5651977.html
Copyright © 2020-2023  润新知