• python异步日志库loguru


    p y t h o n 异步日志库 l o g u r u ( l o g g i n g − 日志系统模块 ) 的基本使用 python异步日志库loguru(logging-日志系统模块)的基本使用 python异步日志库loguru(logging日志系统模块)的基本使用

    官方文档:https://loguru.readthedocs.io/en/stable/index.html

    一 安装

    pip install loguru -i http://pypi.douban.com/simple/  --trusted-host pypi.douban.com
    
    
    • 1
    • 2

    二 使用

    1.单项目日志系列配置

    import logging
    
    '''
    单项目日志系列配置
    '''
    
    # loggin基础配置
    logging.basicConfig(
    
        filename= "./test.log",  # 日志记录文件位置
        format= '%(asctime)s - %(name)s - %(levelname)s - %(module)s : %(message)s', # 时间-项目名称-信息等级-信息所属模块-信息
        datefmt= '%Y-%m-%d %H:%M:%S', # 时间记录的格式
        level=0,  #  阈值,超过该阈值的程度信息才会被记录到文本日志文件中。  调试一把设置为0,生产运行时一般是40
    )
    
    
    logging.critical("最严重信息:critical 分数50")
    logging.error("error信息 分数40")
    logging.warning("warning 分数30")
    logging.info("info 分数20")
    logging.debug("debug 10")
    
    logging.log(9,"自定义信息,分数自设")
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    在这里插入图片描述

    介绍各等级分数

    在这里插入图片描述

    2.多项目日志系列配置

    import logging
    
    '''
    多项目日志系列配置
    '''
    
    ## 系统1:pro1
    
    fh_1 = logging.FileHandler('pro1.log','a',encoding='utf-8') # 确定日志记录文本本地存储地址,存入模式,编码方式
    fh_1.setFormatter(logging.Formatter(fmt='%(asctime)s - %(name)s - %(levelname)s - %(module)s : %(message)s')) # 设置保存格式:时间-项目名称-信息等级-信息所属模块-信息
    
    logger1 = logging.Logger('pro1',level=0) # 设置项目名称,记录等级,生成日志对象
    logger1.addHandler(fh_1) # 日志对象加入文件句柄
    
    logger1.critical("logger1 最严重信息:critical 分数50") # 记录日志
    logger1.error("logger1 error信息 分数40")
    logger1.warning("logger1 warning 分数30")
    logger1.info("logger1 info 分数20")
    logger1.debug("logger1 debug 10")
    
    logger1.log(9,"logger1 自定义信息,分数自设")
    
    ## 系统2:pro2
    
    fh_2 = logging.FileHandler('pro2.log','a',encoding='utf-8')
    fh_2.setFormatter(logging.Formatter(fmt='%(asctime)s - %(name)s - %(levelname)s - %(module)s : %(message)s'))
    
    logger2 = logging.Logger('pro2',level=0)
    logger2.addHandler(fh_2)
    
    logger2.critical("logger2 最严重信息:critical 分数50")
    logger2.error("logger2 error信息 分数40")
    logger2.warning("logger2 warning 分数30")
    logger2.info("logger2 info 分数20")
    logger2.debug("logger2 debug 10")
    
    logger2.log(9,"logger2 自定义信息,分数自设")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37

    实际应用

    import logging 会是全局变量,可单独写入一个log.py文件中,其他文件要记录日志时,直接进行import即可、

    log.py

    import logging
    
    '''
    多项目日志系列配置
    '''
    
    ## 系统1:pro1
    
    fh_1 = logging.FileHandler('pro1.log','a',encoding='utf-8') # 确定日志记录文本本地存储地址,存入模式,编码方式
    fh_1.setFormatter(logging.Formatter(fmt='%(asctime)s - %(name)s - %(levelname)s - %(module)s : %(message)s')) # 设置保存格式:时间-项目名称-信息等级-信息所属模块-信息
    logger1 = logging.Logger('pro1',level=0) # 设置项目名称,记录等级,生成日志对象
    logger1.addHandler(fh_1) # 日志对象加入文件句柄
    
    
    ## 系统2:pro2
    
    fh_2 = logging.FileHandler('pro2.log','a',encoding='utf-8')
    fh_2.setFormatter(logging.Formatter(fmt='%(asctime)s - %(name)s - %(levelname)s - %(module)s : %(message)s'))
    logger2 = logging.Logger('pro2',level=0)
    logger2.addHandler(fh_2)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    test.py

    from log import logger2
    logger2.log(9,"sdfsdfsdfsxdfsd765675675675675
    
    • 1
    • 2

    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    Docker从入门到上天系列第四篇:docker平台入门图解与平台架构图解
    Linux:进程调度的O(1)算法
    信奥中的数学:唯一分解定理(算术基本定理)
    好莱坞罢工事件!再次警醒人类重视AI监管,人工智能矛盾一触即发!
    百度地图实现3d发光建筑群
    专享策略02 | 套利策略-自动换仓-出场加速
    [设计模式] 静态代理居然能解决这种问题,我惊讶了!
    react-to-vue使用教程
    c++学生管理系统
    MySQL性能优化实践:SQL查询优化之使用只读索引、IN方法和临时表分批查询(附加:索引的创建删除命令)
  • 原文地址:https://blog.csdn.net/qq_41375318/article/details/127630031