Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java日志记录框架,保证日志在午夜旋转_Java_Logging - Fatal编程技术网

Java日志记录框架,保证日志在午夜旋转

Java日志记录框架,保证日志在午夜旋转,java,logging,Java,Logging,我正在寻找一种在午夜旋转日志文件的方法,并增加了一个要求,即无论日志中写入了什么,都必须遵守滚动时间(功能等价物是*nix logrotate程序) 我看过的所有实现(log4j,logback)都需要日志事件作为日志旋转的触发器(00:00之后的第一个日志事件触发旋转)。这意味着无法保证日志在给定的时间循环(因为所需的触发事件可能会在数小时后到达) 是否有一个日志框架可以保证日志在给定的时间内旋转?如果是这样,您可以使用CronTrigger来触发一个简单的java类,以便每天午夜进行虚拟日志

我正在寻找一种在午夜旋转日志文件的方法,并增加了一个要求,即无论日志中写入了什么,都必须遵守滚动时间(功能等价物是*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>

xxx.xxx.LogRotateAlert

谢谢您的回答,但虚拟日志事件正是我试图避免的。您解决过这个问题吗?我没有找到合适的解决方案-我使用了虚拟日志事件。