当级别设置为警告时,logging.debug()正在运行代码。(PYTHON)

当级别设置为警告时,logging.debug()正在运行代码。(PYTHON),python,Python,因此,我试图将中期分解过程自动化。我的程序正在运行,但第38行的logger.debug(condSecond(5,“+”,6))正在执行函数condSecond(),即使我已将级别设置为“WARNING”。 如何避免执行该函数。(顺便说一句,我知道我可以删除那一行。我不想那样做。) 很抱歉,我不知道如何在这里添加行号 import math import logging logger = logging.getLogger('Debugger') logging.basicConfig(lev

因此,我试图将中期分解过程自动化。我的程序正在运行,但第38行的logger.debug(condSecond(5,“+”,6))正在执行函数condSecond(),即使我已将级别设置为“WARNING”。 如何避免执行该函数。(顺便说一句,我知道我可以删除那一行。我不想那样做。)

很抱歉,我不知道如何在这里添加行号

import math
import logging
logger = logging.getLogger('Debugger')
logging.basicConfig(level="WARNING")

def getFactors(n):
    factors = []
    for i in range(1, int(math.sqrt(n)) + 1):
        if n % i == 0:
            factors.append(i)
           #factors.append(n // i)    not required for this program.
    return factors


logger.debug(getFactors(174))


def condSecond(x, o, n): # o -> operator ; x -> coefficient of variable with degree 1; n -> product of constant and coefficient of squared variable.
    x = int(x)
    n = int(n)
    if o == '+':
        for i in getFactors(n):
            if i + n/i == x:
                print(f"{i}x + {n//i}x")
                return
        print('not solvable (check the arguments you passed)')

    elif o == '-':
        for i in getFactors(n):
            if i - n/i == x:
                print(f"{i}x - {n//i}x")
                return
            elif i- n/i == -x:
                print(f"{n//i}x - {i}x")
                return
        print('not solvable (check the arguments you passed)')

logger.debug(condSecond(5, '+', 6))

def midTermFactorization(a, b, o, c): # b -> coefficient of variable having degree 1 ; c -> constant ; a -> coefficient of squared variable
    n = int(a) * int(c)
    condSecond(b, o, n)

if __name__ == "__main__":
    inp = input('coefficient of squared variable: ')
    inp2 = input('coefficient of variable: ')
    inp3 = input('operator before the constant: ')
    inp4 = input('constant: ')
    midTermFactorization(inp, inp2, inp3, inp4)

记录器标志仅用于告知记录器应过滤掉哪些消息以及应保存/打印哪些消息。因此,始终执行用作logger.debug参数的函数。根据记录器级别打印/记录结果


您可以做的是测试传递给记录器的级别(如此处的警告),以确定是否要调用logger.debug。

因此无法完全停止logger.debug()的执行?