如何设置不打印 DEBUG io.grpc.netty.shaded.io.grpc.netty.NettyClientHandler.log for google 日志?

How to set to not print out DEBUG io.grpc.netty.shaded.io.grpc.netty.NettyClientHandler.log for google log?

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

我连接 google log.When 我开始 spring 引导,程序 died.Because 打印出太多日志。这是我的日志和错误。

[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]

I sow google log document。google 建议使用 logging.properties 并使用 io.grpc 并且 sun.net 日志记录级别保持在 INFO 级别

it is recommended that io.grpc and sun.net logging level is kept at INFO level, as both these packages are used by Cloud internals and can result in verbose / initialization problems.

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

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

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

但是还是不行,还是打印了太多日志。

如何设置不打印出“DEBUG io.grpc.netty.shaded.io.grpc.netty.NettyClientHandler.log”? 我正在使用登录。

这是我的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 相对于 google log

<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>

我通过简单的方法解决了这个问题。我只在 logback.xml.That 中添加了这段代码,我将 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>