Python 500使用日志处理程序时出错
我想用下面的代码记录异常,但我得到一个500错误。如果省略%s和someGlobalVariable,则不会返回错误。为什么这不起作用Python 500使用日志处理程序时出错,python,logging,flask,Python,Logging,Flask,我想用下面的代码记录异常,但我得到一个500错误。如果省略%s和someGlobalVariable,则不会返回错误。为什么这不起作用 except Exception as e: logging.warning(("%s Exception::Login:: "+ str(e.args)), % (someGlobalVariable)) return False 您的语法错误,%无效,因为%是二进制运算。让日志记录进行替换时,您不使用%值语法。将这些值作为进一步的参数传
except Exception as e:
logging.warning(("%s Exception::Login:: "+ str(e.args)), % (someGlobalVariable))
return False
您的语法错误,%无效,因为%是二进制运算。让日志记录进行替换时,您不使用%值语法。将这些值作为进一步的参数传递给日志记录方法
logging.warning('%s Exception::Login:: %s', someGlobalVariable, str(e.args))
替换someGlobalVariable时出现语法错误,应为:
logging.warning('%s Exception::Login:: %s' % (someGlobalVariable, str(e.args)))
正如@davidism在下面的回答和评论中所说,让记录器自己进行替换更有效,因为您可以避免字符串替换:
logging.warning('%s Exception::Login:: %s' , someGlobalVariable, str(e.args))