Вход в Google Stackdriver в App Engine (Python) с использованием очереди Redis - PullRequest
0 голосов
/ 02 мая 2018

Я хочу войти, используя Stackdriver Logging в App Engine, используя очередь Redis. Поэтому для этого я использую 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, журналы сохраняются в Global в разделе ведения журнала Google Cloud. Очередь работает правильно, чтобы проверить, что я добавляю текст в файл.

Кажется, регистрация не работает. Если он регистрируется, где я могу найти свои журналы в Google Cloud?

1 Ответ

0 голосов
/ 04 мая 2018

Учитывая, что вы используете клиентскую библиотеку Python, используйте функцию print() для получения желаемых результатов. Я не знаю, тестируете ли вы приложение локально или развернули его.

  1. Если вы тестируете приложение локально: print() функция вывод можно найти в облачной оболочке.
  2. Если вы развернули приложение: перейдите к консоли GCP, App Engine и службам. Выберите сервис, в котором вы развернули ваше приложение. В правой части нажмите на инструменты и выберите «Журналы». Это перенаправит страницу в журналы вашего приложения.

Более точное ведение журнала можно определить с помощью Ведение журнала Stackdriver для Python . Уровень предупреждения может быть определен. Это может помочь вам управлять вашим приложением или определять интересующие вас события. Найдите пример кода здесь .

Может оказаться полезным Агент ведения журнала Stackdriver , приложение, основанное на fluentd, которое запускается на экземплярах вашей виртуальной машины (ВМ). Агент ведения журнала предварительно настроен на отправку журналов с экземпляров виртуальных машин в ведение журнала Stackdriver. Для redis доступны исходные файлы и файлы конфигурации.

Если вы хотите более общего видения, Гибкая среда App Engine регистрирует официальную документацию может помочь вам понять различные доступные журналы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...