python项目中怎样制作日志

  • 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kun1280437633/article/details/79579500

1、日志的级别 

    日志一共分成5个等级,从低到高分别是:
    1. DEBUG:详细的信息,通常只出现在诊断问题上
    2. INFO:确认一切按预期运行
    3. WARNING:一个迹象表明,一些意想不到的事情发生了,或表明一些问题在不久的将来(例如磁盘空间低”)。这个软件还能按预期工作。
    4. ERROR:更严重的问题,软件没能执行一些功能
    5. CRITICAL:一个严重的错误,这表明程序本身可能无法继续运行  

    这5个等级,也分别对应5种打日志的方法: debug 、info 、warning 、error 、critical。默认的是WARNING,当在WARNING或之上时才被跟踪。

2、日志输出到控制台

    import logging
    logging.basicConfig(level=logging.WARNING,
                                     format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s : %(message)s')
    # 开始使用log功能
    logging.info('这是 loggging info message')
    logging.debug('这是 loggging debug message')
    logging.warning('这是 loggging a warning message')
    logging.error('这是 an loggging error message')

    logging.critical('这是 loggging critical message')

    ***注意 level=logging.WARNING这个是控制日志输入最低的级别

    结果显示:

    2018-3-14 23:07:35,725 - log1.py[line:9] - WARNING: 这是 loggging a warning message
    2018-3-14 23:07:35,725 - log1.py[line:10] - ERROR: 这是 an loggging error message

    2018-3-14 23:07:35,725 - log1.py[line:11] - CRITICAL: 这是 loggging critical message

3、日志输出到文件

    import logging
    logging.basicConfig(level=logging.WARNING,
                                     filename='./log.txt',
                                     filemode='w',
                                     format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')
    # use logging
    logging.info('这是 loggging info message')
    logging.debug('这是 loggging debug message')
    logging.warning('这是 loggging a warning message')
    logging.error('这是 an loggging error message')

    logging.critical('这是 loggging critical message')

    ***注意点level 这个是控制最低输入的级别,filename这个是输入文件的路径,filemode这个文件的模式

    显示结果:

    python@ubuntu: cat log.txt
    2018-3-14 23:10:44,549 - log2.py[line:10] - WARNING: 这是 loggging a warning message
    2018-3-14 23:10:44,549 - log2.py[line:11] - ERROR: 这是 an loggging error message

    2018-3-14 23:10:44,549 - log2.py[line:12] - CRITICAL: 这是 loggging critical message

4、日志既输出到控制台又输出到文件

    import logging
    # 第一步,创建一个logger
    logger = logging.getLogger()
    logger.setLevel(logging.DEBUG)  # Log等级总开关
    # 第二步,创建一个handler,用于写入日志文件
    logfile = './log.txt'
    fh = logging.FileHandler(logfile, mode='a')  # open的打开模式这里可以进行参考
    fh.setLevel(logging.WARNING)  # 输出到file的log等级的开关
    # 第三步,再创建一个handler,用于输出到控制台
    ch = logging.StreamHandler()
    ch.setLevel(logging.DEBUG)   # 输出到console的log等级的开关
    # 第四步,定义handler的输出格式
    formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s")
    fh.setFormatter(formatter)
    ch.setFormatter(formatter)
    # 第五步,将logger添加到handler里面
    logger.addHandler(fh)
    logger.addHandler(ch)
    # 日志
    logger.debug('这是 logger debug message')
    logger.info('这是 logger info message')
    logger.warning('这是 logger warning message')
    logger.error('这是 logger error message')

    logger.critical('这是 logger critical message')

    终端结果显示:

    2018-03-14 23:14:04,218 - 04_日志3.py[line:26] - DEBUG: 这是 logger debug message
    2018-03-14 23:14:04,218 - 04_日志3.py[line:27] - INFO: 这是 logger info message
    2018-03-14 23:14:04,219 - 04_日志3.py[line:28] - WARNING: 这是 logger warning message
    2018-03-14 23:14:04,219 - 04_日志3.py[line:29] - ERROR: 这是 logger error message

    2018-03-14 23:14:04,219 - 04_日志3.py[line:30] - CRITICAL: 这是 logger critical message

    文件log.txt 结果显示:

    2018-03-14 23:14:04,219 - 04_日志3.py[line:28] - WARNING: 这是 logger warning message
    2018-03-14 23:14:04,219 - 04_日志3.py[line:29] - ERROR: 这是 logger error message
    2018-03-14 23:14:04,219 - 04_日志3.py[line:30] - CRITICAL: 这是 logger critical message

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值