我想在开发期间(部署之前)查看Google Cloud Platform中我的一个托管虚拟机模块的日志,我注意到这个命令应该允许它:
gcloud preview app run --enable-mvm-logs <module name>
但是,将该开关添加到常规运行命令会导致模块在加载期间崩溃:
INFO: Go VM Deployment process failed: [Errno 104] Connection reset by peer
ERROR: Internal error while starting instance.
Traceback (most recent call last):
File "/home/bakeonandham/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/module.py", line 1823, in _start_instance
if not inst.start():
File "/home/bakeonandham/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/instance.py", line 274, in start
self._runtime_proxy.start()
File "/home/bakeonandham/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/vm_runtime_proxy_go.py", line 130, in start
self._vm_runtime_proxy.start(dockerfile_dir=dst_deployment_dir)
File "/home/bakeonandham/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/vm_runtime_proxy.py", line 196, in start
self._module_configuration.major_version, runtime_config.instance_id)
File "/home/bakeonandham/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/log_manager.py", line 172, in add
_create_table(l)
File "/home/bakeonandham/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/log_manager.py", line 138, in _create_table
response = conn.getresponse()
File "/usr/lib/python2.7/httplib.py", line 1073, in getresponse
response.begin()
File "/usr/lib/python2.7/httplib.py", line 415, in begin
version, status, reason = self._read_status()
File "/usr/lib/python2.7/httplib.py", line 371, in _read_status
line = self.fp.readline(_MAXLINE + 1)
File "/usr/lib/python2.7/socket.py", line 476, in readline
data = self._sock.recv(self._rbufsize)
error: [Errno 104] Connection reset by peer
如果没有这个开关,我的应用程序就会运行并部署得很好,一旦部署,我正在开发的数据就可以在开发控制台中使用。
我确实找到了一种方法,可以在我启动开发服务器的终端开发过程中查看日志,但这并不理想:
如果我使用--verbosity调试标志,我的输出显示,但只有loglevel调试,即使我记录的东西被记录为错误。任何其他详细级别都不会显示输出。
我正在使用Go运行时。
总而言之,我可以使用本地开发服务器环境为托管VM查看日志的唯一方法是使用以下命令启动:
gcloud --verbosity debug preview app run <module name>
即使我使用loglevel Error记录,如果我设置了--verbosity错误,输出也不会显示在终端或其他任何地方。
有没有人能够让--enable-mvm-logs开关工作,还是坏了?有关查看托管虚拟机日志输出的更好方法的任何想法吗?