首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >堆栈驱动程序python日志RPC错误

堆栈驱动程序python日志RPC错误
EN

Stack Overflow用户
提问于 2017-12-02 00:53:47
回答 1查看 1.4K关注 0票数 0

我在将错误记录到GCP StackDriver时遇到了RPC问题。以下是错误消息:

代码语言:javascript
复制
grpc._channel._Rendezvous: <_Rendezvous of RPC that terminated with (StatusCode.DEADLINE_EXCEEDED, Deadline Exceeded)>

下面是用于日志记录的python代码:

代码语言:javascript
复制
import logging
import logging.handlers
import os
import config
import google.cloud.logging as gcp_logging
from google.oauth2 import service_account

logger = logging.getLogger('my_logger')
## using Google Stackdriver logging
#client = gcp_logging.Client(project=config.project, credentials=config.credentials_gcp_ml)
#client = gcp_logging.Client.from_service_account_json('./cred.json')
cred = service_account.Credentials.from_service_account_file('./cred.json')
client = gcp_logging.Client(project = config.project, credentials=cred)
hdlr = client.get_default_handler()
logger = logging.getLogger('cloudLogger')

formatter = logging.Formatter('%(asctime)s  %(levelname)s   %(message)s')
hdlr.setFormatter(formatter)
logger.addHandler(hdlr)
logger.setLevel(logging.INFO)

我在本地计算机上运行此代码,连接到我的GCP帐户。

代码语言:javascript
复制
google-auth 1.2.0; google-cloud-logging 1.4.0
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-17 11:37:30

我已经尝试过您的代码(稍微修改一下以使其适应我的项目,并添加了最后一行以便将日志输出到堆栈驱动程序日志控制台),它正在为我工作。

在这里,我分享我使用过的代码:

代码语言:javascript
复制
import logging
import logging.handlers
import os
import google.cloud.logging as gcp_logging
from google.oauth2 import service_account

logger = logging.getLogger('my_logger')
cred = service_account.Credentials.from_service_account_file('./private-key.json')
client = gcp_logging.Client(project = "<YOUR_PROJECT_ID>", credentials=cred)
hdlr = client.get_default_handler()
logger = logging.getLogger('cloudLogger')

formatter = logging.Formatter('%(asctime)s  %(levelname)s   %(message)s')
hdlr.setFormatter(formatter)
logger.addHandler(hdlr)
logger.setLevel(logging.INFO)
logger.info('This is a Logging Test.')

在我的本地机器上运行命令python test.py之后,我得到的结果是:

代码语言:javascript
复制
Program shutting down, attempting to send 1 queued log entries to Stackdriver Logging...
Waiting up to 5 seconds.
Sent all pending logs.

然后,如果我移到前面提供的控制台链接并使用全局资源类型(resource.type="global")进行筛选,我看到的就是:

正如@A.Queue所述,我还在运行google-auth version 1.3.0google-cloud-logging 1.4.0,因此您应该尝试使用以下命令升级google-auth

代码语言:javascript
复制
pip install --upgrade google-auth

试试看,如果同样的错误不断出现,请回到我们身边。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47603473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档