我正在寻找一种在午夜旋转日志文件的方法,并增加了这样的要求:不管日志中写的是什么,都必须尊重滚动时间(功能等效的是*nix日志旋转程序)。
我看过的所有实现(log4j、logback)都需要一个日志事件作为日志旋转的触发器( 00:00之后的第一个日志事件触发了旋转)。这意味着无法保证日志在给定时间被旋转(因为所需的触发事件可能在几小时后到达)。
是否有在给定时间保证日志轮转的日志记录框架?
发布于 2012-03-27 15:24:03
如果是这样的话,您可以使用CronTrigger触发一个简单的java类,以便每天午夜做一个虚拟日志。
假设您的代码位于Assuming框架上,您可以将下面的配置作为参考。
<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>https://stackoverflow.com/questions/9887236
复制相似问题