![](/img/trans.png)
[英]Error using Google Stackdriver Logging in App Engine Standard python
[英]Google Stackdriver logging in App Engine (Python) using Redis queue
我想使用Stackdriver進行日志記錄,使用Redis隊列登錄到App Engine。 所以我正在使用Redis Server,Redis Queue和Python日志記錄來做到這一點。 這是我的代碼:
import logging
from redis import Redis
from rq import Queue
import time
class SomeClass():
def log_using_redis(self,text):
log_text = logging.warn(text)
f=open("stack_log.txt","a+")
f.write(str(text))
return "logged Successfully using redis"
def get(self):
text = 'Hello, Logged Successfully!'+time.strftime('%a, %d %b %Y %H:%M:%S %Z(%z)')
redis_conn = Redis()
q = Queue(connection=redis_conn)
job = q.enqueue(self.log_using_redis,text)
print job.result
當我運行RQ worker時,我在終端上得到了一些輸出,但是找不到日志的存儲位置。
如果我嘗試不使用Redis進行直接日志記錄,則日志將存儲在Google Cloud日志記錄部分的Global中。 隊列工作正常,以檢查是否已將文本附加到文件中。
似乎日志記錄無法正常工作。 如果正在記錄日志,我在哪里可以在Google Cloud上找到日志?
考慮到您正在使用Python客戶端庫,請使用print()
函數以獲得所需的結果。 我不知道您是在本地測試應用程序還是已部署它。
print()
函數的輸出。 可以使用Stackdriver Logging for Python定義更精確的日志記錄 。 可以定義警告級別。 這可以幫助您管理應用程序或確定感興趣的事件。 在此處找到示例代碼。
您可能會發現有用的Stackdriver Logging代理 ,這是一個基於fluentd的應用程序,可在您的虛擬機(VM)實例上運行。 日志代理已預先配置為將日志從VM實例發送到Stackdriver Logging。 有可用於redis的源文件和配置文件。
如果您需要更一般的眼光, App Engine靈活的環境日志官方文檔可以幫助您了解其他可用日志。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.