Это руководство предназначено для устранения неполадок в реализациях gRPC, основанных на библиотеке C core (источники большинства из них находятся в репозитории grpc/grpc
).
Дополнительное логирование может быть очень полезным для диагностики проблем. Оно может использоваться для увеличения количества информации, выводимой в stderr.
gRPC использует absl логирование.
Детализация может быть настроена с помощью флагов absl, таких как
--minloglevel
, --v
и --vmodule
.
Эти флаги также можно программно установить с помощью этих API absl.
Пример
# Отключить все логи, кроме FATAL, для всего приложения
./helloworld_application_using_grpc --v=-1 --minloglevel=3
Это не рекомендуется для gRPC C++. Для gRPC C++ настоятельно рекомендуется использовать absl для управления детализацией gRPC. Для Python, ObjC, PHP и Ruby, GRPC_VERBOSITY будет поддерживаться. Пользователи должны отметить, что это изменит настройки для всех библиотек/бинарников, использующих absl в приложении. GRPC_VERBOSITY изменит глобальные настройки absl, а не только настройки для gRPC.
Чтобы узнать, как установить GRPC_VERBOSITY, обратитесь к Обзору переменных окружения
GRPC_TRACE
можно использовать для включения дополнительного логирования для конкретных внутренних компонентов gRPC. Включение правильных трассировок может быть бесценным
для диагностики того, что идет не так, когда вещи не работают как предполагалось. Возможные значения для GRPC_TRACE
перечислены здесь.
Можно включить несколько трассировок одновременно (используйте запятую в качестве разделителя).
# Включить отладочные логи для всего приложения
./helloworld_application_using_grpc --v=2 --minloglevel=0
# Вывести информацию о вызовах низкоуровневого API C core.
# Обратите внимание, что трассировочные логи, использующие `VLOG`, не будут отображаться.
# Многие трассировщики используют уровень логирования INFO.
# Поэтому, если настройки absl не верны, трассировки не будут выводиться.
GRPC_TRACE=api ./helloworld_application_using_grpc --v=-1 --minloglevel=0
# Вывести информацию из 3 разных трассировщиков, включая трассировочные логи
GRPC_TRACE=tcp,http,api ./helloworld_application_using_grpc --v=2 --minloglevel=0
Известные ограничения: GPRC_TRACE=tcp
в настоящее время не реализован для Windows (вы не увидите никаких трассировок tcp).
Пожалуйста, обратите внимание, что переменная окружения GRPC_TRACE
не имеет ничего общего с функцией "трассировки" gRPC (= трассировка RPC в среде микросервисов для получения информации о том, как запросы обрабатываются развертыванием), она используется только для включения вывода дополнительных логов.
Шум в логах может потреблять много ресурсов. Мы рекомендуем очень внимательно настраивать настройки для производственных систем.
--v
, --vmodule
, absl::SetVLogLevel
и absl::SetMinLogLevel
во всем вашем коде и любых библиотеках/компонентах/конфигурациях, которые вы можете использовать.Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )