Python的logging模块可以帮助我们对Python程序进行日志输出。通常情况下,我们需要在程序中添加日志输出,以便在程序出现异常时能够查看程序运行情况。
import logging
# 设置日志格式
logging.basicConfig(format='%(asctime)s - %(levelname)s - %(message)s', level=logging.INFO)
def test_logging():
logging.info('这是一条info日志信息')
logging.warning('这是一条warning日志信息')
logging.error('这是一条error日志信息')
logging.critical('这是一条critical日志信息')
if __name__ == '__main__':
test_logging()
在使用logging模块时,我们需要先进行基本配置,包括设置输出格式和日志级别等。这里的示例中,我们使用了basicConfig()方法设置了日志格式,并将日志级别设置为INFO。
输出信息:这段代码将日志级别设置为info级别,则info和高于info级别的日志都会被输出。
将日志输出到log文件中:
import pytest
import logging
@pytest.fixture(scope="session", autouse=True)
def setup_logging(request):
# 设置日志格式
log_format = "%(asctime)s [%(levelname)s] %(message)s"
logging.basicConfig(format=log_format, level=logging.INFO)
# 创建一个文件处理器,将日志输出到文件
file_handler = logging.FileHandler("test.log")
file_handler.setLevel(logging.INFO)
file_handler.setFormatter(logging.Formatter(log_format))
# 将文件处理器添加到根日志记录器中
logging.getLogger().addHandler(file_handler)
def test_example():
logging.info("这是一条日志信息")
assert True
if __name__ == "__main__":
pytest.main(['-s', '-v'])
在上面的示例代码中,首先通过pytest的fixture功能,在整个测试会话期间自动执行setup_logging
函数。在该函数中,设置了日志的格式,并创建了一个文件处理器,将日志输出到名为test.log
的文件中。然后,将文件处理器添加到根日志记录器中。
在测试用例函数test_example
中,使用logging.info
方法输出一条日志信息。
当执行以上代码时,会在当前目录下生成一个名为test.log
的日志文件,并将日志内容输出到该文件中。
参考:https://blog.csdn.net/Runner1st/article/details/96481954