Я хотел бы иметь возможность просматривать ошибки на стороне клиента в средстве просмотра журнала Google Cloud. Можно ли создавать записи журнала из приложения AngularJS, и если да, то как?
Как я могу войти в Google Cloud Logging из приложения AngularJS?
Ответы (2)
Отчеты об ошибках Stackdriver специально разработаны для ошибок приложений, я рекомендую вам использовать их, а не журналы Stackdriver для отчетов об ошибках.
Для отчетов об ошибках на стороне клиента вам потребуется использовать HTTP report
API с ключом API.
Я написал библиотеку JavaScript, чтобы помочь вам вызвать эту конечную точку из клиента: https://github.com/GoogleCloudPlatform/stackdriver-errors-js
Я еще не тестировал его с приложением Angular (но есть проблема с отслеживанием а> для этого). Он помечен как экспериментальный, но уже должен быть достаточно стабильным. Ваш вклад приветствуется, если вы столкнулись с проблемами или хотели бы помочь
Если вы действительно хотите видеть ошибки в средстве просмотра журналов, в GCE или AWS EC2 это можно сделать, установив Агент ведения журнала Stackdriver и либо
- Пишите сообщения журнала в формате JSON на порт 24224 (см. документацию in_forward).
or
- Запишите свои журналы на диск и скажите агенту просмотреть эти файлы (см. документацию in_tail).
Порт переадресации уже предварительно настроен в агенте. Если вы решите использовать файлы журналов, вам придется написать свою собственную конфигурацию, указывающую агенту на ваши файлы журналов.
Оба вышеперечисленных являются серверными, поэтому ваш клиентский код должен каким-то образом передавать ошибки на сервер. Также можно указать порт переадресации для клиента, но см. ниже.
Другой альтернативой является использование API отчетов об ошибках Stackdriver и размещение сообщений либо с сервера, либо непосредственно с ваш клиентский код. В этом случае ошибки будут отображаться в консоли отчетов об ошибках Stackdriver, а не в средстве просмотра журналов.
Имейте в виду, что запись клиентом напрямую либо в порт агента, либо в API отчетов об ошибках по своей сути небезопасна, поскольку соответствующий ключ порта/API должен быть открыт для доступа в Интернет (поэтому записи могут быть подделаны, а злоумышленник может, например, , используйте свою квоту).
Благодарим вас за использование Google Stackdriver.