利用lib.utilsget_logger()函数实现定制化的日志输出
发布时间:2024-01-02 04:40:06
在Python中,可以使用logging模块来实现日志输出功能。为了方便使用,我们可以定义一个函数get_logger(),该函数的作用是根据特定的参数创建一个定制化的日志记录器。
下面是一个例子:
import logging
def get_logger(name, level=logging.INFO):
"""
创建一个定制化的日志记录器,并返回
:param name: 日志记录器的名称
:param level: 日志的级别,默认为INFO级别
:return: 定制化的日志记录器
"""
logger = logging.getLogger(name)
logger.setLevel(level)
# 创建一个定制化的日志处理器
handler = logging.StreamHandler()
handler.setLevel(level)
# 定义日志输出格式
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
handler.setFormatter(formatter)
# 将处理器添加到日志记录器
logger.addHandler(handler)
return logger
使用这个函数可以方便地创建一个定制化的日志记录器。下面是一个使用示例:
import lib.utils # 导入lib.utils模块
from lib.utils import get_logger # 导入get_logger函数
# 使用时,直接调用get_logger函数即可
logger = get_logger("my_logger", level=logging.DEBUG)
# 输出不同级别的日志
logger.debug("This is a debug message.")
logger.info("This is an info message.")
logger.warning("This is a warning message.")
logger.error("This is an error message.")
logger.critical("This is a critical message.")
上述代码中,我们首先导入了lib.utils模块,并从中导入了get_logger函数。然后,我们使用get_logger函数创建了一个名为my_logger的日志记录器,并设置日志级别为DEBUG级别。最后,我们分别输出了不同级别的日志信息。
定制化的日志输出格式可以根据实际需求进行修改。在上述例子中,我们使用的日志输出格式为"%(asctime)s - %(name)s - %(levelname)s - %(message)s",它将日志的时间、日志记录器的名称、日志级别以及日志消息都输出到日志文件中。
这样,使用get_logger函数可以方便地创建一个定制化的日志记录器,可以根据需要设置不同的名称和日志级别,并且输出格式也可以自由定制,从而满足多样化的日志需求。
