[英]grpc Logger level
我有一個應用程序(Java),它在很大程度上依賴於grpc在不同的微服務之間進行通信。 問題在於,在雲環境中,呼叫服務通常無法到達其目標服務。 為了解決我們的問題,我們希望從grpc獲得更好的調試信息。
目前,我們從grpc獲得非常粗略的日志記錄信息,並且我們希望在套接字級別上看到日志記錄信息(例如,“與套接字x ....交談”)。 我們如何更改grpc的記錄器級別? 在整個系統中,我們使用slf4j進行日志記錄,而netty-logging.properties在INFO中具有日志記錄級別。
什么水平比較好? (我們正在考慮TRACE ),是否應該通過每次grpc調用或在配置文件中以編程方式更改級別?(此文件的外觀如何?)
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
。
您可以使用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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.