Python中如何实现日志记录以进行DEBUG调试
发布时间:2023-12-18 07:05:30
在Python中,我们可以使用logging模块来实现日志记录以进行DEBUG调试。该模块提供了多种日志级别,如DEBUG、INFO、WARNING、ERROR和CRITICAL等,可以设置日志级别控制输出的详细程度。下面是一个简单的使用例子:
import logging
# 配置日志文件和日志级别
logging.basicConfig(filename='debug.log', level=logging.DEBUG)
def add(a, b):
logging.debug(f'Adding {a} and {b}')
logging.info('The function add() is called.')
return a + b
def subtract(a, b):
logging.debug(f'Subtracting {b} from {a}')
logging.info('The function subtract() is called.')
return a - b
def multiply(a, b):
logging.debug(f'Multiplying {a} by {b}')
logging.info('The function multiply() is called.')
return a * b
def divide(a, b):
logging.debug(f'Dividing {a} by {b}')
logging.info('The function divide() is called.')
try:
result = a / b
except ZeroDivisionError:
logging.error('Division by zero is not allowed!')
return None
return result
if __name__ == '__main__':
a = 10
b = 5
# 调试信息输出到文件
add_result = add(a, b)
subtract_result = subtract(a, b)
multiply_result = multiply(a, b)
divide_result = divide(a, b)
# 在控制台输出日志信息
logging.debug(f'add_result: {add_result}')
logging.debug(f'subtract_result: {subtract_result}')
logging.debug(f'multiply_result: {multiply_result}')
logging.debug(f'divide_result: {divide_result}')
上述代码中,我们首先通过logging.basicConfig()函数配置了日志文件和日志级别。filename参数指定了日志文件的名称为debug.log,level参数指定了日志级别为DEBUG。然后,在每个函数中通过logging.debug()、logging.info()和logging.error()等函数记录了各个函数的调用以及相应的计算结果。
在if __name__ == '__main__':之后的部分,我们定义了两个变量a和b,分别为10和5。然后调用了四个函数add()、subtract()、multiply()和divide(),并将它们的返回结果赋给了相应的变量。最后,通过logging.debug()函数将各个函数的返回结果输出到控制台。
在执行该脚本后,我们可以在控制台看到如下的输出信息:
add_result: 15 subtract_result: 5 multiply_result: 50 divide_result: 2.0
此外,我们还可以在当前目录中找到一个名为debug.log的文件,其中包含了详细的日志信息。
总结来说,通过使用logging模块,我们可以方便地实现日志记录以进行DEBUG调试。通过设置不同的日志级别,我们可以控制输出的详细程度。同时,通过配置日志文件,我们可以在程序运行结束后仍然可以查看日志信息,方便问题的排查和调试。
