Уровень логгера grpc - PullRequest
       19

Уровень логгера grpc

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

У меня есть приложение (Java), которое сильно зависит от grpc для связи между различными микросервисами. Проблема в том, что в облачной среде вызывающие сервисы очень часто не достигают своих целевых сервисов. Чтобы решить наши проблемы, мы хотим получить лучшую отладочную информацию от grpc.

В настоящее время мы получаем очень грубую информацию о журналировании от grpc, и мы хотели бы видеть информацию о журналировании на уровне сокетов (например, «общение с сокетом x ....»). Как мы можем изменить уровень логгера для grpc? Во всей системе мы используем slf4j для ведения журнала, а наш netty-logging.properties имеет уровень ведения журнала в INFO.

Какой был бы хороший уровень? (мы думаем TRACE ) и должны ли мы программно изменять уровень при каждом вызове grpc или, скорее, в файле конфигурации ? (Как будет выглядеть этот файл? )

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

Вы можете использовать google-cloud-logging-logback , версии доступны на maven-central

<!-- add to pom.xml dependencies -->

<dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>google-cloud-logging-logback</artifactId>
    <version>0.80.0-alpha</version>
</dependency>

Затем включите отладку или другой уровень ведения журнала, который выхочу в src/main/resources/logback.xml,

<configuration>                                                                                        
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">                               
        <encoder class="net.logstash.logback.encoder.LogstashEncoder"/>                                
    </appender>                                                                                        

    <root level="DEBUG">                                                                               
        <appender-ref ref="STDOUT" />                                                                  
    </root>                                                                                            
</configuration> 
0 голосов
/ 16 мая 2018

gRPC Вывод Java-журналов через встроенные в JDK классы java.util.logging (поиск «java.util.logging» вызовет множество уроков и вопросов StackOverflow о настройке этих уровней журнала). Уровень журнала может быть установлен программно, но обычное использование лучше обслуживать загрузкой из файла конфигурации. В следующем примере logging.properties включается подробное ведение журнала gRPC:

handlers=java.util.logging.ConsoleHandler
io.grpc.level=FINE
java.util.logging.ConsoleHandler.level=FINE
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter

Необходимо указать местоположение этого файла в виде флага JVM, например, с флагом командной строки -Djava.util.logging.config.file=logging.properties.

...