loguru库使用
在 loguru
库中,日志级别从低到高依次为:
TRACE
:用于追踪代码中的详细信息。DEBUG
:用于调试和开发过程中的详细信息。INFO
:用于提供一般性的信息,表明应用程序正在按预期运行。SUCCESS
:用于表示成功完成的操作。WARNING
:用于表示潜在的问题或警告,不会导致应用程序的中断或错误。ERROR
:用于表示错误,可能会导致应用程序的中断或异常行为。CRITICAL
:用于表示严重错误,通常与应用程序无法继续执行相关。
当设置日志级别时,只有该级别及以上级别的日志消息才会被记录。例如,如果将日志级别设置为 INFO
,那么只有 INFO
、SUCCESS
、WARNING
、ERROR
和 CRITICAL
级别的日志消息会被记录。
你可以根据需要选择适当的日志级别,以便记录和获取所需的信息。通常,在开发和调试阶段,可以使用较低的级别(如 DEBUG
)以获得更详细的日志信息,而在生产环境中,可以使用较高的级别(如 INFO
或更高级别)来减少日志量并关注关键信息和错误。
当你设置日志级别时,只有该级别及以上级别的日志消息才会被记录。如果不显式设置日志级别,则默认为'DEBUG'
级别,这意味着所有级别的日志消息都会被记录。
举个例子,如果你不指定日志级别,那么
logger.add()
方法的level
参数将默认为'DEBUG'
,也就是所有级别的日志消息都会被记录。因此,以下两种方式是等效的:
from loguru import logger
from config.demo import case_log
def get_log(file):
logger.add(sink=file, encoding='utf-8', level='ERROR')
return logger
if __name__ == '__main__':
logger = get_log(case_log)
logger.info("测试正在执行")
logger.debug('调试')
logger.warning('警告')
logger.error('错误')
方式一(不指定日志级别):
logger.add(sink=file, encoding='utf-8')
方式二(指定日志级别为DEBUG):
logger.add(sink=file, encoding='utf-8', level='DEBUG')
两种方式都会记录所有级别的日志消息。如果你只想记录特定级别及以上级别的日志消息,可以将level
参数设置为相应的级别,例如'INFO'
、'WARNING'
或'ERROR'
,具体取决于你的需求。
再举一个例子
当设置日志级别时,你可以使用以下代码示例来说明不同级别的日志记录:
from loguru import logger
# 设置日志级别为 DEBUG
logger.add(sink='logs.log', encoding='utf-8', level='DEBUG')
def example_function():
logger.debug("这是一条 DEBUG 级别的日志消息")
logger.info("这是一条 INFO 级别的日志消息")
logger.warning("这是一条 WARNING 级别的日志消息")
logger.error("这是一条 ERROR 级别的日志消息")
logger.critical("这是一条 CRITICAL 级别的日志消息")
example_function()
在上述代码中,我们将日志级别设置为 DEBUG
,然后在 example_function
函数中记录了不同级别的日志消息。根据日志级别的高低,每个日志消息的记录情况如下:
logger.debug
:由于日志级别设置为DEBUG
,这条消息会被记录。logger.info
:由于日志级别高于DEBUG
,这条消息也会被记录。logger.warning
:这条消息级别高于DEBUG
和INFO
,因此会被记录。logger.error
:这条消息级别高于DEBUG
、INFO
和WARNING
,因此会被记录。logger.critical
:这条消息是最高级别的,因此无论日志级别设置如何,都会被记录。
注意,上述代码中将日志消息记录到了 logs.log
文件中,你可以根据需要修改文件路径和名称。
通过调整日志级别,你可以控制记录哪些级别的日志消息,以便在不同情况下获取所需的信息。