小编Igg*_*ydv的帖子

登录:SizeAndTimeBasedRollingPolicy将totalSizeCap应用于maxHistory中的每一天

登录版本1.2.3

我想在我们的Logback配置文件(logback.xml)中使用SizeAndTimeBasedRollingPolicy,但是此时SizeAndTimeBasedRollingPolicy无法正常运行。(https://logback.qos.ch/manual/appenders.html#SizeAndTimeBasedRollingPolicy

理想情况下,我希望保留日志的日期不迟于ex。90天,每个文件不超过100MB,总档案大小为ex。总共10GB。

按照目前的情况,totalSizeCap应用于MaxHistory范围内的每个条目。例如

<appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>mylog.txt</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
      <!-- rollover daily -->
      <fileNamePattern>mylog-%d{yyyy-MM-dd}.%i.txt</fileNamePattern>
       <!-- each file should be at most 100MB, keep 60 days worth of history, but at most 20GB -->
       <maxFileSize>100MB</maxFileSize>    
       <maxHistory>60</maxHistory>
       <totalSizeCap>1GB</totalSizeCap>
    </rollingPolicy>
    <encoder>
      <pattern>%msg%n</pattern>
    </encoder>
</appender>
Run Code Online (Sandbox Code Playgroud)

上面的XML配置将创建跨越60天的日志,每天应用1GB的totalSizeCap。这将导致总存档大小为60GB,而不是预期的1GB。如果在一天中达到了totalSizeCap,则当天的日志将通过删除当天最旧的文件开始进行翻转,这将在日志历史记录中创建间隙,这是我们所不希望的。解决此错误的方法是使用每年的滚动,而不是每天或每月的滚动,不幸的是,在使用SizeAndTimeBasedRollingPolicy时,每年的滚动不起作用。

有谁知道这个问题,这个问题已经解决,还是我在配置中做错了?

logging logback logback-classic

6
推荐指数
1
解决办法
3040
查看次数

从 gRPC 服务中调用时 gRPC 客户端不工作

快速免责声明,我对 gRPC 和 RPC 很陌生,所以请耐心等待

我有两个 gRPC 服务器运行在同一个 java 应用程序上,Service A并且Service B. Service A创建多个客户端Service B,然后同步到做的各种实例调用Service B

服务器

Service A有一个由.proto文件定义的 rpc 调用

rpc notifyPeers(NotifyPeersRequest) returns (NotifyPeersResponse);
Run Code Online (Sandbox Code Playgroud)

服务器端实现,

@Override
public void notifyPeers(NotifyPeersRequest request, StreamObserver<NotifyPeersResponse> responseObserver) {
    logger.debug("gRPC 'notifyPeers' request received");
    String host = request.getHost();
    
   
    for (PeerClient c : clients.values()) {   
        c.addPeer(host);    // <----  this call
    }

    NotifyPeersResponse response = NotifyPeersResponse.newBuilder()
            .setResult(result)
            .build();

    responseObserver.onNext(response);
    responseObserver.onCompleted();
}
Run Code Online (Sandbox Code Playgroud)

对等点列表clients是在之前的 …

java distributed-system grpc

6
推荐指数
1
解决办法
668
查看次数