Java 单个应用程序中的多个quartz调度程序是否会导致单个log4j fileAppender停止滚动?
当前应用程序位于Spring 3.2/JDK7/Quartz/Log4J2上,我在下面安排了以下Java 单个应用程序中的多个quartz调度程序是否会导致单个log4j fileAppender停止滚动?,java,spring,logging,log4j,quartz-scheduler,Java,Spring,Logging,Log4j,Quartz Scheduler,当前应用程序位于Spring 3.2/JDK7/Quartz/Log4J2上,我在下面安排了以下Quartz作业 弹簧石英跳汰机 <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="trigger1" />
Quartz
作业
弹簧石英跳汰机
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="trigger1" />
<ref bean="trigger2" />
<ref bean="trigger3" />
<ref bean="trigger4" />
<ref bean="trigger5" />
</list>
</property>
</bean>
作业间隔定义
<bean id="trigger1" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail" ref="scheduledService1" />
<property name="startDelay" value="5000" />
<property name="repeatInterval" value="2900" />
</bean>
<bean id="trigger2" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail" ref="scheduledService2" />
<property name="startDelay" value="7000" />
<property name="repeatInterval" value="3000" />
</bean>
<bean id="trigger3" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail" ref="scheduledService3" />
<property name="startDelay" value="9000" />
<property name="repeatInterval" value="3100" />
</bean>
<bean id="trigger4" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail" ref="scheduledService4" />
<property name="startDelay" value="11000" />
<property name="repeatInterval" value="3200" />
</bean>
<bean id="trigger5" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail" ref="scheduledService5" />
<property name="startDelay" value="13000" />
<property name="repeatInterval" value="2500" />
</bean>
我试图让它们在不同的时间段触发。在每个scheduledService
中,它引用了一个带有log4j记录器实例的服务类。fileAppender中的log4j2.xml中只定义了一个记录器,因此所有日志信息都是从应用程序写入安全文件的
我的问题是,在这种情况下,如果每个记录器都写入由Log4J2
生成的同一个日志文件,那么很可能导致FileAppender
停止滚动(因为同一日志文件中有多个线程I/O,那么日志文件会疯狂地增长,文件大小巨大)?如果是,如何克服这个问题?必须为不同的服务类创建不同的日志文件吗?我想知道Log4j2是否能以某种方式实现上述场景