欢迎访问宙启技术站
智能推送

优化Python代码:使用setup_logger()函数进行日志记录

发布时间:2024-01-04 06:40:17

在Python中进行日志记录是非常重要的,它可以帮助我们了解程序的运行情况以及帮助我们调试程序。以下是一个优化的Python代码,使用setup_logger()函数来进行日志记录。

import logging

def setup_logger(filename):
    # 创建一个logger对象
    logger = logging.getLogger()

    # 设置日志级别
    logger.setLevel(logging.DEBUG)

    # 创建一个文件处理器并设置日志级别
    file_handler = logging.FileHandler(filename)
    file_handler.setLevel(logging.DEBUG)

    # 创建一个控制台处理器并设置日志级别
    console_handler = logging.StreamHandler()
    console_handler.setLevel(logging.INFO)

    # 创建一个格式化器
    formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")

    # 将格式化器添加到处理器中
    file_handler.setFormatter(formatter)
    console_handler.setFormatter(formatter)

    # 将处理器添加到logger对象中
    logger.addHandler(file_handler)
    logger.addHandler(console_handler)

    return logger


def main():
    # 设置日志文件名
    filename = "app.log"

    # 使用setup_logger()函数创建logger对象
    logger = setup_logger(filename)

    # 记录不同日志级别的日志
    logger.debug("这是一个debug级别的日志")
    logger.info("这是一个info级别的日志")
    logger.warning("这是一个warning级别的日志")
    logger.error("这是一个error级别的日志")
    logger.critical("这是一个critical级别的日志")


if __name__ == "__main__":
    main()

上述代码中,setup_logger()函数接受一个参数filename,用来指定日志文件的名称。函数首先创建一个logger对象,并设置日志级别为DEBUG。然后创建一个文件处理器,并设置日志级别为DEBUG,将文件处理器添加到logger对象中。接着创建一个控制台处理器,并设置日志级别为INFO,同样将控制台处理器添加到logger对象中。最后,将格式化器添加到处理器中,并将处理器添加到logger对象中。

main()函数中,我们调用setup_logger()函数创建一个logger对象,并传递日志文件的名称。然后,我们可以使用logger对象记录不同级别的日志,通过调用debug()info()warning()error()critical()方法即可。

通过以上优化后的Python代码,我们可以方便地进行日志记录,并根据不同的需求设置日志级别。这可以帮助我们更好地了解程序的运行情况,以及进行程序调试。