logging - grpc 记录器级别

标签 logging netty slf4j grpc-java

我有一个应用程序(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

关于logging - grpc 记录器级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50243717/

相关文章:

java - 通过使用动态代理,有没有办法返回一个类型与代理接口(interface)的方法签名不匹配的对象?

java - 当发送到服务器的消息数量较多时,Netty 中客户端收不到消息

java - 使用 logback 仅存档旧日志

java - 库中的 slf4j 似乎忽略了我的 log4j2 配置

python - 从日志文件中提取唯一访问者列表

.net - 登录 dotnet-core 控制台应用程序和类库?

java - 日志: How to get a email whenever there is a Exception inside Log

java - log4j2配置

netty - 如何获取 Netty channel 的一些 ID?

java - 在简单的 mvc Sp​​ring Web 项目中使用 slf4j 记录器