zoukankan      html  css  js  c++  java
  • loguru的使用

    转载自:www.manongjc.com/detail/8-xkpixvxrrbkbqxw.html

    安装

    pip install loguru

    1、输出日志

    from loguru import logger
    logger.debug("这是一条debug日志")

    2、输出到文件

    from loguru import logger
    logger.add("test.log")
    
    logger.debug("这是一条debug日志")
    logger.info("这是一条info日志")

    3、日志规则

    设置日志格式,过滤器,日志级别

    from loguru import logger
    
    logger.add("file.log", format="{time} {level} {message}", filter="", level="INFO")
    
    logger.debug("这是一条debug日志")
    logger.info("这是一条info日志")

    输出

    2019-03-14T20:01:25.392454+0800 INFO 这是一条info日志


    4、日志文件

    文件管理方式

    logger.add("file_1.log", rotation="500 MB")    # 文件过大就会重新生成一个文件
    logger.add("file_2.log", rotation="12:00")     # 每天12点创建新文件
    logger.add("file_3.log", rotation="1 week")    # 文件时间过长就会创建新文件
    
    logger.add("file_X.log", retention="10 days")  # 一段时间后会清空
    
    logger.add("file_Y.log", compression="zip")    # 保存zip格式
     

    5、其他参数

    logger.add("somefile.log", enqueue=True)  # 异步写入
    
    logger.add("somefile.log", serialize=True)  # 序列化为json

    6、时间格式化

    logger.add("file.log", format="{time:YYYY-MM-DD at HH:mm:ss} | {level} | {message}")
     

    7、在工程中创建多个文件处理器对象并解决中文乱码问题

    # coding=utf-8
    import os
    import sys
    from loguru import logger
    
    BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    
    log_file_path = os.path.join(BASE_DIR, 'Log/my.log')
    err_log_file_path = os.path.join(BASE_DIR, 'Log/err.log')
    
    logger.add(sys.stderr, format="{time} {level} {message}", filter="my_module", level="INFO")
    # logger.add(s)
    logger.add(log_file_path, rotation="500 MB", encoding='utf-8')  # Automatically rotate too big file
    logger.add(err_log_file_path, rotation="500 MB", encoding='utf-8',
               level='ERROR')  # Automatically rotate too big file
    logger.debug("That's it, beautiful and simple logging!")
    logger.debug("中文日志可以不")
    logger.error("严重错误")
     
  • 相关阅读:
    获取其他进程中StatusBar的文本
    TStringGrid多选的复制与拷贝
    常用数据结构
    数据结构及算法
    时间复杂度和空间复杂度详解
    算法的时间复杂度和空间复杂度
    新增并管理媒体资源
    Node.js与MongoDB的基本连接示例
    Web API 2:Action的返回类型
    快递查询组件
  • 原文地址:https://www.cnblogs.com/GouQ/p/12963548.html
Copyright © 2011-2022 走看看