gpt4 book ai didi

python登录django View 导致TypeError

转载 作者:太空宇宙 更新时间:2023-11-04 06:22:26 25 4
gpt4 key购买 nike

我将日志设置如下

import logging

logging.basicConfig(
level = logging.DEBUG,
format = '%(asctime)s %(levelname)s %(message)s',
)

logger = logging.getLogger('myapp.views')

def my_view(request):
...
try:
parse_file_using_regex(file):
...
except IndexError as ie:
logger.debug('content of file not proper:',ie)
except ValueError as ve:
logger.debug('caused value error')

当发生 valueError 时,我得到以下输出

...Traceback (most recent call last):
File "/usr/lib/python2.6/logging/__init__.py", line 768, in emit
msg = self.format(record)
File "/usr/lib/python2.6/logging/__init__.py", line 648, in format
return fmt.format(record)
File "/usr/lib/python2.6/logging/__init__.py", line 436, in format
record.message = record.getMessage()
File "/usr/lib/python2.6/logging/__init__.py", line 306, in getMessage
msg = msg % self.args
TypeError: not all arguments converted during string formatting
....Traceback (most recent call last):
File "/usr/lib/python2.6/logging/__init__.py", line 768, in emit
msg = self.format(record)
File "/usr/lib/python2.6/logging/__init__.py", line 648, in format
return fmt.format(record)
File "/usr/lib/python2.6/logging/__init__.py", line 436, in format
record.message = record.getMessage()
File "/usr/lib/python2.6/logging/__init__.py", line 306, in getMessage
msg = msg % self.args
TypeError: not all arguments converted during string formatting
2012-06-21 09:13:47,909 DEBUG caused value error

谁能帮我解决这个问题?为什么我会收到 TypeError?

使用pdb,在python2.6/logging/init.py的getMessage(self)中包含如下内容

import pdb
pdb.set_trace()
print msg,sef.args

...> /usr/lib/python2.6/logging/__init__.py(307)getMessage()
-> print msg,sef.args
(Pdb) msg
'parsing subtitle file:'
(Pdb) self.args
('/home/me/dev/python/django/myapp/media/testpath/testfile.srt',)
(Pdb)

最佳答案

你应该在你的日志消息中添加一个 %s 值,所以它应该是这样的:

logger.debug('content of file not propper: %s', ie)

我也以不同的方式使用记录器,只是像这样直接添加消息:

logger.debug('content of file not propper: %s' % ie)

在我看来这更直接。

关于 pdb,它是调试程序的一种非常好的方式,我 100% 推荐它 :)

关于python登录django View 导致TypeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11131447/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com