Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python googleappengine日志系统中的无限递归_Python_Google App Engine_Logging_Recursion - Fatal编程技术网

Python googleappengine日志系统中的无限递归

Python googleappengine日志系统中的无限递归,python,google-app-engine,logging,recursion,Python,Google App Engine,Logging,Recursion,在我正在开发的appengine应用程序的本地实例上,我体验到了日志系统的无限递归。不幸的是,由于问题在于日志系统,我看不到错误消息。python'print'命令也不适用于googleappengine应用程序,因此我无法显示任何有用的信息 即使只是访问网站根目录,问题也显而易见 这似乎是一个重要的问题,但除此之外,日志系统应该可以工作,但事实并非如此 站点的已部署版本正在运行,这让我想到了一个可能的本地配置/系统问题 我使用的是Python2.7.2和当前的\u版本\u ID=1.1 下面是

在我正在开发的appengine应用程序的本地实例上,我体验到了日志系统的无限递归。不幸的是,由于问题在于日志系统,我看不到错误消息。python'print'命令也不适用于googleappengine应用程序,因此我无法显示任何有用的信息

即使只是访问网站根目录,问题也显而易见

这似乎是一个重要的问题,但除此之外,日志系统应该可以工作,但事实并非如此

站点的已部署版本正在运行,这让我想到了一个可能的本地配置/系统问题

我使用的是Python2.7.2和当前的\u版本\u ID=1.1

下面是该错误的很长的堆栈跟踪:

    --> --> -->
Traceback (most recent call last):
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 2781, in _HandleRequest
    self._Dispatch(dispatcher, self.rfile, outfile, env_dict)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 2669, in _Dispatch
    base_env_dict=env_dict)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 692, in Dispatch
    base_env_dict=base_env_dict)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1731, in Dispatch
    self._module_dict)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1631, in ExecuteCGI
    reset_modules = exec_script(config, handler_path, cgi_path, hook)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1319, in ExecuteOrImportScript
    exec module_code in script_module.__dict__
  File "C:\Program Files\Google\google_appengine\google\appengine\ext\admin\__init__.py", line 79, in <module>
    from google.appengine.ext.webapp import _template
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py", line 676, in Decorate
    return func(self, *args, **kwargs)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py", line 1858, in load_module
    return self.FindAndLoadModule(submodule, fullname, search_path)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py", line 676, in Decorate
    return func(self, *args, **kwargs)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py", line 1722, in FindAndLoadModule
    description)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py", line 676, in Decorate
    return func(self, *args, **kwargs)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py", line 1665, in LoadModuleRestricted
    description)
  File "C:\Program Files\Google\google_appengine\google\appengine\ext\webapp\_template.py", line 37, in <module>
    from google.appengine.ext.webapp import template
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py", line 676, in Decorate
    return func(self, *args, **kwargs)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py", line 1858, in load_module
    return self.FindAndLoadModule(submodule, fullname, search_path)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py", line 676, in Decorate
    return func(self, *args, **kwargs)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py", line 1722, in FindAndLoadModule
    description)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py", line 676, in Decorate
    return func(self, *args, **kwargs)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py", line 1665, in LoadModuleRestricted
    description)
  File "C:\Program Files\Google\google_appengine\google\appengine\ext\webapp\template.py", line 61, in <module>
    webapp._config_handle.django_setup()
  File "C:\Program Files\Google\google_appengine\google\appengine\ext\webapp\__init__.py", line 153, in _django_setup
    __django_version_setup()
  File "C:\Program Files\Google\google_appengine\google\appengine\ext\webapp\__init__.py", line 99, in __django_version_setup
    'http://code.google.com/appengine/docs/python/tools/'
  File "C:\Python27\lib\logging\__init__.py", line 1582, in warning
    root.warning(msg, *args, **kwargs)
  File "C:\Python27\lib\logging\__init__.py", line 1144, in warning
    self._log(WARNING, msg, args, **kwargs)
  File "C:\Python27\lib\logging\__init__.py", line 1250, in _log
    self.handle(record)
  File "C:\Python27\lib\logging\__init__.py", line 1260, in handle
    self.callHandlers(record)
  File "C:\Python27\lib\logging\__init__.py", line 1300, in callHandlers
    hdlr.handle(record)
  File "C:\Python27\lib\logging\__init__.py", line 744, in handle
    self.emit(record)
  File "C:\Python27\lib\logging\__init__.py", line 870, in emit
    self.handleError(record)
  File "C:\Python27\lib\logging\__init__.py", line 797, in handleError
    None, sys.stderr)
  File "C:\Python27\lib\traceback.py", line 124, in print_exception
    _print(file, 'Traceback (most recent call last):')
  File "C:\Python27\lib\traceback.py", line 13, in _print
    file.write(str+terminator)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1492, in write
    logging.getLogger()._log(logging.ERROR, message, ())
  File "C:\Python27\lib\logging\__init__.py", line 1250, in _log
    self.handle(record)
  File "C:\Python27\lib\logging\__init__.py", line 1260, in handle
    self.callHandlers(record)
  File "C:\Python27\lib\logging\__init__.py", line 1300, in callHandlers
    hdlr.handle(record)
  File "C:\Python27\lib\logging\__init__.py", line 744, in handle
    self.emit(record)
  File "C:\Python27\lib\logging\__init__.py", line 870, in emit
    self.handleError(record)
  File "C:\Python27\lib\logging\__init__.py", line 797, in handleError
    None, sys.stderr)
  File "C:\Python27\lib\traceback.py", line 124, in print_exception
    _print(file, 'Traceback (most recent call last):')
  File "C:\Python27\lib\traceback.py", line 13, in _print
    file.write(str+terminator)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1492, in write
    logging.getLogger()._log(logging.ERROR, message, ())
  File "C:\Python27\lib\logging\__init__.py", line 1250, in _log
    self.handle(record)
  File "C:\Python27\lib\logging\__init__.py", line 1260, in handle
    self.callHandlers(record)
  File "C:\Python27\lib\logging\__init__.py", line 1300, in callHandlers
    hdlr.handle(record)
  File "C:\Python27\lib\logging\__init__.py", line 744, in handle
    self.emit(record)
  File "C:\Python27\lib\logging\__init__.py", line 870, in emit
    self.handleError(record)
  File "C:\Python27\lib\logging\__init__.py", line 797, in handleError
    None, sys.stderr)
  File "C:\Python27\lib\traceback.py", line 124, in print_exception
    _print(file, 'Traceback (most recent call last):')
  File "C:\Python27\lib\traceback.py", line 13, in _print
    file.write(str+terminator)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1492, in write
    logging.getLogger()._log(logging.ERROR, message, ())
  File "C:\Python27\lib\logging\__init__.py", line 1250, in _log
    self.handle(record)
  File "C:\Python27\lib\logging\__init__.py", line 1260, in handle
    self.callHandlers(record)
  File "C:\Python27\lib\logging\__init__.py", line 1300, in callHandlers
    hdlr.handle(record)
  File "C:\Python27\lib\logging\__init__.py", line 744, in handle
    self.emit(record)
  File "C:\Python27\lib\logging\__init__.py", line 870, in emit
    self.handleError(record)
  File "C:\Python27\lib\logging\__init__.py", line 797, in handleError
    None, sys.stderr)
  File "C:\Python27\lib\traceback.py", line 124, in print_exception
    _print(file, 'Traceback (most recent call last):')
  File "C:\Python27\lib\traceback.py", line 13, in _print
    file.write(str+terminator)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1492, in write
    logging.getLogger()._log(logging.ERROR, message, ())
  File "C:\Python27\lib\logging\__init__.py", line 1250, in _log
    self.handle(record)
  File "C:\Python27\lib\logging\__init__.py", line 1260, in handle
    self.callHandlers(record)
  File "C:\Python27\lib\logging\__init__.py", line 1300, in callHandlers
    hdlr.handle(record)
  File "C:\Python27\lib\logging\__init__.py", line 744, in handle
    self.emit(record)
  File "C:\Python27\lib\logging\__init__.py", line 870, in emit
    self.handleError(record)
  File "C:\Python27\lib\logging\__init__.py", line 797, in handleError
    None, sys.stderr)
  File "C:\Python27\lib\traceback.py", line 124, in print_exception
    _print(file, 'Traceback (most recent call last):')
  File "C:\Python27\lib\traceback.py", line 13, in _print
    file.write(str+terminator)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1492, in write
    logging.getLogger()._log(logging.ERROR, message, ())
  File "C:\Python27\lib\logging\__init__.py", line 1250, in _log
    self.handle(record)
  File "C:\Python27\lib\logging\__init__.py", line 1260, in handle
    self.callHandlers(record)
  File "C:\Python27\lib\logging\__init__.py", line 1300, in callHandlers
    hdlr.handle(record)
  File "C:\Python27\lib\logging\__init__.py", line 744, in handle
    self.emit(record)
  File "C:\Python27\lib\logging\__init__.py", line 870, in emit
    self.handleError(record)
  File "C:\Python27\lib\logging\__init__.py", line 797, in handleError
    None, sys.stderr)
  File "C:\Python27\lib\traceback.py", line 124, in print_exception
    _print(file, 'Traceback (most recent call last):')
  File "C:\Python27\lib\traceback.py", line 13, in _print
    file.write(str+terminator)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1492, in write
    logging.getLogger()._log(logging.ERROR, message, ())
  File "C:\Python27\lib\logging\__init__.py", line 1250, in _log
    self.handle(record)
  File "C:\Python27\lib\logging\__init__.py", line 1260, in handle
    self.callHandlers(record)
  File "C:\Python27\lib\logging\__init__.py", line 1300, in callHandlers
    hdlr.handle(record)
  File "C:\Python27\lib\logging\__init__.py", line 744, in handle
    self.emit(record)
  File "C:\Python27\lib\logging\__init__.py", line 870, in emit
    self.handleError(record)
  File "C:\Python27\lib\logging\__init__.py", line 797, in handleError
    None, sys.stderr)
  File "C:\Python27\lib\traceback.py", line 124, in print_exception
    _print(file, 'Traceback (most recent call last):')
  File "C:\Python27\lib\traceback.py", line 13, in _print
    file.write(str+terminator)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1492, in write
    logging.getLogger()._log(logging.ERROR, message, ())
  File "C:\Python27\lib\logging\__init__.py", line 1250, in _log
    self.handle(record)
  File "C:\Python27\lib\logging\__init__.py", line 1260, in handle
    self.callHandlers(record)
  File "C:\Python27\lib\logging\__init__.py", line 1300, in callHandlers
    hdlr.handle(record)
  File "C:\Python27\lib\logging\__init__.py", line 744, in handle
    self.emit(record)
  File "C:\Python27\lib\logging\__init__.py", line 870, in emit
    self.handleError(record)
  File "C:\Python27\lib\logging\__init__.py", line 797, in handleError
    None, sys.stderr)
  File "C:\Python27\lib\traceback.py", line 124, in print_exception
    _print(file, 'Traceback (most recent call last):')
  File "C:\Python27\lib\traceback.py", line 13, in _print
    file.write(str+terminator)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1492, in write
    logging.getLogger()._log(logging.ERROR, message, ())
  File "C:\Python27\lib\logging\__init__.py", line 1250, in _log
    self.handle(record)
  File "C:\Python27\lib\logging\__init__.py", line 1260, in handle
    self.callHandlers(record)
  File "C:\Python27\lib\logging\__init__.py", line 1300, in callHandlers
    hdlr.handle(record)
  File "C:\Python27\lib\logging\__init__.py", line 744, in handle
    self.emit(record)
  File "C:\Python27\lib\logging\__init__.py", line 870, in emit
    self.handleError(record)
  File "C:\Python27\lib\logging\__init__.py", line 797, in handleError
    None, sys.stderr)
  File "C:\Python27\lib\traceback.py", line 124, in print_exception
    _print(file, 'Traceback (most recent call last):')
  File "C:\Python27\lib\traceback.py", line 13, in _print
    file.write(str+terminator)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1492, in write
    logging.getLogger()._log(logging.ERROR, message, ())
  File "C:\Python27\lib\logging\__init__.py", line 1250, in _log
    self.handle(record)
  File "C:\Python27\lib\logging\__init__.py", line 1260, in handle
    self.callHandlers(record)
  File "C:\Python27\lib\logging\__init__.py", line 1300, in callHandlers
    hdlr.handle(record)
  File "C:\Python27\lib\logging\__init__.py", line 744, in handle
    self.emit(record)
  File "C:\Python27\lib\logging\__init__.py", line 870, in emit
    self.handleError(record)
  File "C:\Python27\lib\logging\__init__.py", line 797, in handleError
    None, sys.stderr)
  File "C:\Python27\lib\traceback.py", line 124, in print_exception
    _print(file, 'Traceback (most recent call last):')
  File "C:\Python27\lib\traceback.py", line 13, in _print
    file.write(str+terminator)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1492, in write
    logging.getLogger()._log(logging.ERROR, message, ())
  File "C:\Python27\lib\logging\__init__.py", line 1250, in _log
    self.handle(record)
  File "C:\Python27\lib\logging\__init__.py", line 1260, in handle
    self.callHandlers(record)
  File "C:\Python27\lib\logging\__init__.py", line 1300, in callHandlers
    hdlr.handle(record)
  File "C:\Python27\lib\logging\__init__.py", line 744, in handle
    self.emit(record)
  File "C:\Python27\lib\logging\__init__.py", line 870, in emit
    self.handleError(record)
  File "C:\Python27\lib\logging\__init__.py", line 797, in handleError
    None, sys.stderr)
  File "C:\Python27\lib\traceback.py", line 124, in print_exception
    _print(file, 'Traceback (most recent call last):')
  File "C:\Python27\lib\traceback.py", line 13, in _print
    file.write(str+terminator)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1492, in write
    logging.getLogger()._log(logging.ERROR, message, ())
  File "C:\Python27\lib\logging\__init__.py", line 1250, in _log
    self.handle(record)
  File "C:\Python27\lib\logging\__init__.py", line 1260, in handle
    self.callHandlers(record)
  File "C:\Python27\lib\logging\__init__.py", line 1300, in callHandlers
    hdlr.handle(record)
  File "C:\Python27\lib\logging\__init__.py", line 744, in handle
    self.emit(record)
  File "C:\Python27\lib\logging\__init__.py", line 870, in emit
    self.handleError(record)
  File "C:\Python27\lib\logging\__init__.py", line 797, in handleError
    None, sys.stderr)
  File "C:\Python27\lib\traceback.py", line 124, in print_exception
    _print(file, 'Traceback (most recent call last):')
  File "C:\Python27\lib\traceback.py", line 13, in _print
    file.write(str+terminator)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1492, in write
    logging.getLogger()._log(logging.ERROR, message, ())
  File "C:\Python27\lib\logging\__init__.py", line 1250, in _log
    self.handle(record)
  File "C:\Python27\lib\logging\__init__.py", line 1260, in handle
    self.callHandlers(record)
  File "C:\Python27\lib\logging\__init__.py", line 1300, in callHandlers
    hdlr.handle(record)
  File "C:\Python27\lib\logging\__init__.py", line 744, in handle
    self.emit(record)
  File "C:\Python27\lib\logging\__init__.py", line 870, in emit
    self.handleError(record)
  File "C:\Python27\lib\logging\__init__.py", line 797, in handleError
    None, sys.stderr)
  File "C:\Python27\lib\traceback.py", line 124, in print_exception
    _print(file, 'Traceback (most recent call last):')
  File "C:\Python27\lib\traceback.py", line 13, in _print
    file.write(str+terminator)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1492, in write
    logging.getLogger()._log(logging.ERROR, message, ())
  File "C:\Python27\lib\logging\__init__.py", line 1250, in _log
    self.handle(record)
  File "C:\Python27\lib\logging\__init__.py", line 1260, in handle
    self.callHandlers(record)
  File "C:\Python27\lib\logging\__init__.py", line 1300, in callHandlers
    hdlr.handle(record)
  File "C:\Python27\lib\logging\__init__.py", line 744, in handle
    self.emit(record)
  File "C:\Python27\lib\logging\__init__.py", line 870, in emit
    self.handleError(record)
  File "C:\Python27\lib\logging\__init__.py", line 797, in handleError
    None, sys.stderr)
  File "C:\Python27\lib\traceback.py", line 124, in print_exception
    _print(file, 'Traceback (most recent call last):')
  File "C:\Python27\lib\traceback.py", line 13, in _print
    file.write(str+terminator)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1492, in write
    logging.getLogger()._log(logging.ERROR, message, ())
  File "C:\Python27\lib\logging\__init__.py", line 1250, in _log
    self.handle(record)
  File "C:\Python27\lib\logging\__init__.py", line 1260, in handle
    self.callHandlers(record)
  File "C:\Python27\lib\logging\__init__.py", line 1300, in callHandlers
    hdlr.handle(record)
  File "C:\Python27\lib\logging\__init__.py", line 744, in handle
    self.emit(record)
  File "C:\Python27\lib\logging\__init__.py", line 870, in emit
    self.handleError(record)
  File "C:\Python27\lib\logging\__init__.py", line 797, in handleError
    None, sys.stderr)
  File "C:\Python27\lib\traceback.py", line 124, in print_exception
    _print(file, 'Traceback (most recent call last):')
  File "C:\Python27\lib\traceback.py", line 13, in _print
    file.write(str+terminator)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1492, in write
    logging.getLogger()._log(logging.ERROR, message, ())
  File "C:\Python27\lib\logging\__init__.py", line 1249, in _log
    record = self.makeRecord(self.name, level, fn, lno, msg, args, exc_info, func, extra)
  File "C:\Python27\lib\logging\__init__.py", line 1223, in makeRecord
    rv = LogRecord(name, level, fn, lno, msg, args, exc_info, func)
  File "C:\Python27\lib\logging\__init__.py", line 266, in __init__
    self.levelname = getLevelName(level)
  File "C:\Python27\lib\logging\__init__.py", line 167, in getLevelName
    return _levelNames.get(level, ("Level %s" % level))
RuntimeError: maximum recursion depth exceeded while getting the str of an object

事实上,重命名应用程序的目录并使用不同的端口通过google app engine launcher重新导入解决了我的问题,但可能不是bug。

你需要上传相关的源代码才能得到@skreft所说的真实答案

尽管对于日志记录,请使用
导入日志记录
,然后使用
logging.info()
来帮助查找问题


我建议现在评论日志代码,看看堆栈跟踪显示了什么。然后,如果没有收到错误,开始逐段添加日志代码,直到找到错误。

是否可以发布代码摘录?实际上,main.py是一个包含数千行的大型文件。我也不确定这是否是问题的根源,因为递归是在日志模块中进行的。我最近的更改似乎与bug无关,因为我已经撤销了这些更改,bug仍然存在。至少您发布的回溯表明问题源于您导入模块时(从myapp.music\u推荐导入get\u song\u推荐、get\u song\u推荐、学习\u数据、学习\u song、从\u视频和myapp.models.song导入歌曲中学习\u song)。另外,您使用的python版本和dev\u appserver是什么?您可以使用
logger.info('Some debug info'))
调试任何东西..并在日志输出中查看结果,而不是打印。不要在GAEIt中使用打印是一个有趣的问题。似乎日志代码遇到错误并试图记录错误消息。这可能是SDK中的一个错误,但很难跟踪,因为您似乎没有简单的可复制案例至少,我可以试试。如果这种情况再次发生,我希望你将尝试减少你的应用程序,使其代码量最小化,然后在应用程序引擎跟踪器中提交一个bug。
from google.appengine.ext import webapp

import fix_path
import sys
import os
import urllib
import urllib2
import pprint
import logging
import cgi
import random
import Cookie
import datetime
import time
import urlparse
import urllib2
import urllib, cStringIO
import hashlib
import copy

from urllib import urlretrieve
from google.appengine.ext import blobstore
from google.appengine.ext.webapp import blobstore_handlers
from google.appengine.ext.webapp import template
from google.appengine.api import users
from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.ext import db
from google.appengine.dist import use_library
from google.appengine.api import memcache
from django.utils import simplejson
from gaesessions import get_current_session

from myapp.models import *
from myapp.models import sequence_selection as models_sequence_selection
from myapp.sequence_selection import utils as sequence_selection_utils
from myapp.models import video 
from myapp.models.video import * 
from myapp.models.song import * 
from myapp.models.flashified import *
from myapp.music_recommendation import get_song_recommendations,get_song_recommendations_learning_data,learn_song,learn_song_from_video

from myapp.core import is_number
from myapp import mailing
from myapp import search
from myapp import motif
from myapp import retrieve_instagram
from myapp import coords_distance
from myapp import performancetest

from google.appengine.api import mail
from google.appengine.api import images