gpt4 book ai didi

保证日志在午夜轮换的 Java 日志记录框架

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:13:55 24 4
gpt4 key购买 nike

我正在寻找一种在午夜轮换日志文件的方法,附加要求是无论日志中写入什么,都必须遵守滚动时间(功能等价物是 *nix logrotate 程序)。

我看过的所有实现(log4j、logback)都需要一个日志记录事件作为日志轮换的触发器(00:00 之后 的第一个日志事件触发轮换)。这意味着无法保证日志在给定时间轮换(因为所需的触发事件可能会在数小时后到达)。

是否有一个日志框架可以保证在给定时间进行日志轮换?

最佳答案

如果是这样,您可以使用 CronTrigger 触发一个简单的 java 类,每天午夜做一个虚拟日志。

假设你的代码在springframework上,你可以引用下面的配置。

<bean id="logRotateAlert" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass">
<value>xxx.xxx.LogRotateAlert</value>
</property>
</bean>
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="logRotateAlert"/>
<property name="cronExpression" value="0 0 0 * * ?"/>
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="cronTrigger"/>
</list>
</property>
</bean>

关于保证日志在午夜轮换的 Java 日志记录框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9887236/

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