提问者:小点点

如何设置不打印出DEBUGio.grpc.netty.shaded.io. grpc.netty.NettyClientHandler.log谷歌日志?


对不起,我不是英语母语。

我连接了谷歌日志。当我开始Spring启动时,程序死了。因为打印出的日志太多。这是我的日志和错误。

[grpc-nio-worker-ELG-1-4] DEBUG io.grpc.netty.shaded.io.grpc.netty.NettyClientHandler.log - [id: 0x6413875c, L:/xxx:58478 - R:logging.googleapis.com/142.251.42.202:443] INBOUND HEADERS: streamId=207 headers=GrpcHttp2ResponseHeaders[grpc-status: 0, content-disposition: attachment] padding=0 endStream=true
[grpc-nio-worker-ELG-1-4] DEBUG io.grpc.netty.shaded.io.grpc.netty.NettyClientHandler.log - [id: 0x6413875c, L:/xxx:58478 - R:logging.googleapis.com/142.251.42.202:443] OUTBOUND HEADERS: streamId=459 headers=GrpcHttp2OutboundHeaders[:authority: logging.googleapis.com:443, :path: /google.logging.v2.LoggingServiceV2/WriteLogEntries, :method: POST, :scheme: https, content-type: application/grpc, te: trailers, user-agent: grpc-java-netty/1.39.0, x-goog-api-client: gl-java/11.0.10 gccl/2.3.2 gapic/2.3.2 gax/1.66.0 grpc/1.39.0, grpc-accept-encoding: gzip, authorization: Bearer ya29.c.b0AXv0zTNJXzltMy4mjSxLeBBi5FEjdutXjFapVXcbzZAkTR3NmGbQTCas6LsKA0N2OMAwlrH45Vo2TsxXA_gnhiIkOBUFoGpmltPxKln_vVYQcXsc6ogfViKv5RfSTFdFQF9vbvIpD5WMlYNBxeLVZjczD5zqQVYHYX9MyW9dcAF8U8B3MpYiOGam5gljwxEPevleZtRrdaMT9N1XwrQOQ4akSdZFyJU, grpc-timeout: 49999860u] streamDependency=0 weight=16 exclusive=false padding=0 endStream=false
[grpc-nio-worker-ELG-1-4] DEBUG io.grpc.netty.shaded.io.grpc.netty.NettyClientHandler.log - [id: 0x6413875c, L:/xxx:58478 - R:logging.googleapis.com/142.251.42.202:443] OUTBOUND DATA: streamId=261 padding=0 endStream=true length=1049 bytes=00000004140a2470726f6a656374732f64786d726f632f6c6f67732f6170706c69636174696f6e2e6c6f67121f0a076761655f61707012140a0a70726f6a6563...
[grpc-nio-worker-ELG-1-4] DEBUG io.grpc.netty.shaded.io.grpc.netty.NettyClientHandler.log - [id: 0x6413875c, L:/xxx:58478 - R:logging.googleapis.com/142.251.42.202:443] OUTBOUND DATA: streamId=459 padding=0 endStream=true length=1050 bytes=00000004150a2470726f6a656374732f64786d726f632f6c6f67732f6170706c69636174696f6e2e6c6f67121f0a076761655f61707012140a0a70726f6a6563...
[grpc-nio-worker-ELG-1-4] DEBUG io.grpc.netty.shaded.io.grpc.netty.NettyClientHandler.log - [id: 0x6413875c, L:/xxx:58478 - R:logging.googleapis.com/142.251.42.202:443] OUTBOUND DATA: streamId=457 padding=0 endStream=true length=1050 bytes=00000004150a2470726f6a656374732f64786d726f632f6c6f67732f6170706c69636174696f6e2e6c6f67121f0a076761655f61707012140a0a70726f6a6563...
[grpc-nio-worker-ELG-1-4] DEBUG io.grpc.netty.shaded.io.grpc.netty.NettyClientHandler.log - [id: 0x6413875c, L:/xxx:58478 - R:logging.googleapis.com/142.251.42.202:443] OUTBOUND DATA: streamId=455 padding=0 endStream=true length=1050 bytes=00000004150a2470726f6a656374732f64786d726f632f6c6f67732f6170706c69636174696f6e2e6c6f67121f0a076761655f61707012140a0a70726f6a6563...
...
java.lang.RuntimeException: com.google.cloud.logging.LoggingException: io.grpc.StatusRuntimeException: DEADLINE_EXCEEDED: deadline exceeded after 49.999977764s. [remote_addr=logging.googleapis.com/xxx.xxx.xxx.xxx:xxx]

我sow谷歌日志文件。谷歌建议使用logging.properties和io. grpc,sun.net日志级别保持在INFO级别

建议将io. grpc和sun.net日志记录级别保持在INFO级别,因为这两个包都由Cloud内部使用,可能会导致冗长/初始化问题。

io.grpc.netty.level=INFO
sun.net.level=INFO

我添加了logging.properties和-Djava. util.log.config.file=/path/to/logging.properties。

io.grpc.netty.level=INFO
sun.net.level=INFO

但它没有工作,仍然打印出太多的日志。

如何设置不打印"DEBUGio.grpc.netty.shaded.io. grpc.netty.NettyClientHandler.log"?我正在使用logback。

这是我的logback. xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="30">
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <target>System.out</target>
        <encoder>
            <pattern>[%d{yyyy-MM-dd HH:mm:ss}:%-3relative][%thread] %-5level %logger{100}.%M - %msg%n</pattern>
        </encoder>
    </appender>
    
    <appender name="CLOUD" class="com.google.cloud.logging.logback.LoggingAppender">
        <log>application.log</log> 
        <resourceType>gae_app</resourceType> 
        <credentialsFile>myfile</credentialsFile>
        <enhancer>com.example.logging.logback.enhancers.ExampleEnhancer
        </enhancer> 
        <flushLevel>WARN</flushLevel> 
    </appender>

    <root level="debug"> <!-- ☆☆ If I use debug level, The program is died -->
        <appender-ref ref="STDOUT" />
        <appender-ref ref="CLOUD" />
    </root>
</configuration>

pom. xml与谷歌日志相关

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.google.cloud</groupId>
            <artifactId>libraries-bom</artifactId>
            <version>24.1.0</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-gcp-starter-logging</artifactId>
        <version>1.2.1.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>google-cloud-logging-logback</artifactId>
    </dependency>

共1个答案

匿名用户

我通过简单的方法解决了这个问题。我只在logback. xml中添加了这段代码。也就是说,我改变了io.grpc.netty.shaded.io.grpc.netty的日志级别,以便从信息中调试。

<logger name="io.grpc.netty.shaded.io.grpc.netty" level="info">
    <appender-ref ref="STDOUT" />
    <appender-ref ref="CLOUD" />
</logger>