gpt4 book ai didi

java - Logback RollingFileAppender 无法同时写入同一日志?

转载 作者:行者123 更新时间:2023-11-30 10:59:36 24 4
gpt4 key购买 nike

我们有一个桌面应用程序,最近在系统中引入了 logback。所有的日志都去同一个地方。它对于单个客户端来说滚动得很好。但是如果我们运行同一个应用程序的两个客户端,日志文件即使在之后也不会滚动它超出了它的限制。如果一个客户端关闭滚动发生得很好。

<appender name="LOG-FILE"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>\log\log.txt</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>\log\old\log.%d{yyyyMMdd}_%i.txt</fileNamePattern>
<maxHistory>2</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100KB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>%d{yyyy.MM.dd HH:mm:ss} > [%thread] %-5level - %msg%n</Pattern>
</layout>

最佳答案

默认情况下支持从多个应用程序写入同一个文件(它可能对您有用,但当它们同时尝试写入时您会看到意外行为)。

您可以通过启用 prudent mode 来解决这个问题为你的附加程序。这是通过设置 prudent="true" 来完成的。作为你的 <appender> 的一个属性标签。

注意对于 RollingFileAppender extra restrictions申请。对您来说,这意味着您不能指定"file"属性。您也不能使用 SizeAndTimeBasedFNATP但你必须改成TimeBasedRollingPolicy .

关于java - Logback RollingFileAppender 无法同时写入同一日志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31859133/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com