zoukankan      html  css  js  c++  java
  • python--loggger日志到理解logging

    日志记录器级别:严重、错误、警告、信息、调试

    logger模块用于记录log信息,使用前请导包import logger。

    例一、

    1、超级简单版logger.py:

    def log_message(msg):
        with open("test.log",'a+') as log_file:
            log_file.write("{0}
    ".format(msg))

    2、新建一个main_script.py文件引入logger.py日志记录器

    import logger
    
    for i in range(4):
        logger.log_message("log message {}".format(i))

    3、运行后生成日志,没有日志级别的日志不是好日志,日志信息如下:

    log message 0
    log message 1
    log message 2
    log message 3
    test.log

    4、logger.py文件修改

    def critical(msg):
        with open("test.log",'a+') as log_file:
            log_file.write("[CRITICAL]{0}
    ".format(msg))
    
    def error(msg):
        with open("test.log",'a+') as log_file:
            log_file.write("[ERROR]{0}
    ".format(msg))
            
    def warn(msg):
        with open("test.log",'a+') as log_file:
            log_file.write("[WARN]{0}
    ".format(msg))
    
    def info(msg):
        with open("test.log",'a+') as log_file:
            log_file.write("[INFO]{0}
    ".format(msg))
            
    def debug(msg):
        with open("test.log",'a+') as log_file:
            log_file.write("[DEBUG]{0}
    ".format(msg))
    logger.py

    5、新建一个py文件,test_error_log.py

    import logger
    
    try:
        a = 1/0
    except:
        logger.error("something went wront")
    View Code

    6、运行test_error_log.py程序后查看log日志,

    [ERROR]something went wron

    7、logging第三方模块pip安装后可以这样用

    import logging  # 引入logging模块
    import os.path
    import time
    # 第一步,创建一个logger
    logger = logging.getLogger()
    logger.setLevel(logging.INFO)  # Log等级总开关
    # 第二步,创建一个handler,用于写入日志文件
    rq = time.strftime('%Y%m%d%H%M', time.localtime(time.time()))
    log_path = os.path.dirname(os.getcwd()) + '/Logs/'
    log_name = log_path + rq + '.log'
    logfile = log_name
    fh = logging.FileHandler(logfile, mode='w')
    fh.setLevel(logging.DEBUG)  # 输出到file的log等级的开关
    # 第三步,定义handler的输出格式
    formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s")
    fh.setFormatter(formatter)
    # 第四步,将logger添加到handler里面
    logger.addHandler(fh)
    # 日志
    logger.debug('this is a logger debug message')
    logger.info('this is a logger info message')
    logger.warning('this is a logger warning message')
    logger.error('this is a logger error message')
    logger.critical('this is a logger critical message')
    test_loggin.py
    逆风的方向更适合飞翔,不怕千万人阻挡,只怕自己投降!
  • 相关阅读:
    极光推送SDK通过泰尔终端实验室检测,符合统一推送接口标准
    极光小课堂|手把手教你做接口测试
    一键登录怎么在iOS端实现?这篇文章教会你!
    一键登录已成大势所趋,Android端操作指南来啦!
    极光一键登录:更快捷、安全的登录认证方式,简单集成即可实现
    跨浏览器问题的五种解决方案
    Laravel 搭建 Composer 包,实现配置 Config、门面 Facade、服务 Service、发布到 Packagist
    How to Install ClamAV on Ubuntu 20.04 and Scan for Vulnerabilities
    单点登录(SSO)看这一篇就够了
    一口气说出 OAuth2.0 的四种授权方式
  • 原文地址:https://www.cnblogs.com/jackzz/p/9270265.html
Copyright © 2011-2022 走看看