我想用以下代码记录异常,但是我收到500错误。如果我省略%s
和someGlobalVariable
,则不会返回错误。为什么这不起作用?
except Exception as e:
logging.warning(("%s Exception::Login:: "+ str(e.args)), % (someGlobalVariable))
return False
答案 0 :(得分:2)
您的语法错误, %
无效,因为%
是二进制操作。让% (value)
进行替换时,不要使用logging
语法。将值作为记录方法的进一步参数传递。
logging.warning('%s Exception::Login:: %s', someGlobalVariable, str(e.args))
答案 1 :(得分:0)
替换someGlobalVariable
时出现语法错误,应该是:
logging.warning('%s Exception::Login:: %s' % (someGlobalVariable, str(e.args)))
正如@davidism在他的回答(以及下面的评论)中说的那样,让记录器进行替换本身更有效率,因为你可以避免字符串替换:
logging.warning('%s Exception::Login:: %s' , someGlobalVariable, str(e.args))