当前位置:   article > 正文

python模块之 loguru 日志模块_python loggru sink

python loggru sink
一、介绍

loguru 是一个功能强大且易于使用的 Python 日志记录库。它提供了简单的语法和丰富的功能,使日志记录变得更加方便和灵活,而 logging 是一个通用且灵活的日志模块,适用于各种复杂的日志需求。可以根据项目的具体需求和个人偏好选择适合的日志库。在某些情况下,甚至可以同时使用 loguru 和 logging,以发挥它们各自的优势
官网:https://loguru.readthedocs.io/en/stable/overview.html
logging:python内置模块logging,日志模块

二、安装
pip install loguru
  • 1
三、日志级别
  1. TRACE:最详细的日志级别,用于追踪代码的执行过程。
  2. DEBUG:用于调试目的的详细信息级别。
  3. INFO:提供程序运行过程中的一般信息。
  4. SUCCESS:表示成功的操作或事件。
  5. WARNING:表示可能的问题或警告。
  6. ERROR:表示错误情况,但不会导致程序终止。
  7. CRITICAL:表示严重错误,可能导致程序终止。
四、loguru.logger 记录器对象
  1. loguru.logger.add(sink,levelformat,filter,colorize,serialize, backtrace diagnose,enqueue, context,catch):用于向记录器添加处理程序,以将日志消息写入文件、终端或其他目标,返回 handler_id
  • sink:可以传入一个 file 对象(file-like object),或一个 str 字符串或者 pathlib.Path 对象,或一个方法(coroutine function),或 logging 模块的 Handler(logging.Handler)。
  • level:应将已记录消息发送到接收器的最低严重级别。
  • format:格式化模块,在发送到接收器之前,使用模板对记录的消息进行格式化。
  • filter:用于决定每个记录的消息是否应该发送到接收器。
  • colorize:是否应将格式化消息中包含的颜色标记转换为用于终端着色的Ansi代码,或以其他方式剥离。如果None,根据水槽是否为TTY自动作出选择。
  • serialize :在发送到接收器之前,记录的消息及其记录是否应该首先转换为JSON字符串。
  • backtrace :格式化的异常跟踪是否应该向上扩展,超出捕获点,以显示生成错误的完整堆栈跟踪。
  • diagnose :异常跟踪是否应该显示变量值以简化调试。在生产中,这应该设置为“False”,以避免泄漏敏感数据。
  • enqueue :要记录的消息在到达接收器之前是否应该首先通过多进程安全队列。当通过多个进程将日志记录到文件中时,这是非常有用的。这还具有使日志调用非阻塞的优点。
  • catch:是否应该自动捕获接收器处理日志消息时发生的错误。如果True上显示异常消息 sys.stderr。但是,异常不会传播到调用者,从而防止应用程序崩溃。
  • rotation:分隔日志文件,何时关闭当前日志文件并启动一个新文件的条件,;例如,“500 MB”、“0.5 GB”、“1 month 2 weeks”、“10h”、“monthly”、“18:00”、“sunday”、“monday at 18:00”、“06:15”
  • retention:可配置旧日志的最长保留时间,例如,“1 week, 3 days”、“2 months”
  • compression :日志文件在关闭时应转换为的压缩或归档格式,例如,“gz”、“bz2”、“xz”、“lzma”、“tar”、“tar.gz”、“tar.bz2”、“tar.xz”、“zip”
  • delay :是否应该在配置了接收器之后立即创建文件,或者延迟到第一个记录的消息。默认为" False "。
  • mode:与内置open()函数一样的打开模式。默认为" “a”(以附加模式打开文件)。
  • buffering :内置open()函数的缓冲策略,它默认为1(行缓冲文件)。
  • encoding:文件编码与内置的" open() “函数相同。如果” None ",它默认为"locale.getpreferredencoding()
  • context:指定附加的上下文信息。可以是字典或函数。如果是字典,则将其添加到每条日志消息的上下文中。如果是函数,则该函数将在记录每条消息时动态计算上下文信息。
  1. loguru.logger.log(leve,message): 记录日志消息。
  2. loguru.logger.debug(message): 记录调试级别的日志消息。
  3. loguru.logger.info(message): 记录信息级别的日志消息。
  4. loguru.logger.warning(message): 记录警告级别的日志消息。
  5. loguru.logger.error(message): 记录错误级别的日志消息。
  6. loguru.logger.critical(message): 记录严重错误级别的日志消息。
  7. loguru.logger.exception(message):记录异常信息
  8. loguru.logger.success(message):记录成功消息
  9. loguru.logger.trace(message):记录函数或代码块的跟踪信息
  10. loguru.logger.remove(handler_id):用于从记录器中移除指定的处理程序。handler_id 参数是要移除的处理程序的标识符
    import loguru
    
    handler_id = loguru.logger.add(sink='logs.log')
    
    loguru.logger.info("用户操作")
    loguru.logger.remove(id)
    loguru.logger.info("用户操作1")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
  11. loguru.logger.level(name,no,color,icon):自定义日志级别,name 参数是记录器的名称,可以是字符串或记录器对象,返回 level对象
  • name:指定自定义日志级别的名称。这个名称将用于在日志消息中标识该级别。
  • no:指定自定义日志级别的数值。数值越低,级别越高。确保自定义级别的数值与其他已定义的级别不重复。
  • color:指定自定义日志级别的颜色。可以是一个字符串,表示颜色的名称或 RGB 值。例如,color=“green” 或 color=“#00FF00”。默认情况下,自定义级别没有颜色。
  • icon:指定自定义日志级别的图标。可以是一个字符串,表示图标的 Unicode 字符。例如,icon=“❗”。默认情况下,自定义级别没有图标
    import loguru
    
    new_level = loguru.logger.level('CUSTOM', no=38, color='<yellow>', icon='
    声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/953267
推荐阅读
相关标签