可以在单个应用程序中使用多个石英调度程序导致单个log4j fileAppender停止翻转吗?

时间:2017-08-11 03:19:22

标签: java spring logging log4j quartz-scheduler

当前应用程序位于Spring 3.2/JDK7/Quartz/Log4J2,我已按照<{p>>计划执行quartz个作业

Spring Quartz tiggers

<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 logger实例的服务类。 fileAppender中的log4j2.xml中只定义了一个记录器,因此应用程序中的所有记录信息都写入安全文件

我的问题是在这种情况下,如果每个记录器写入由Log4J2生成的相同日志记录文件,则很可能会导致FileAppender停止滚动(因为多线程I / O)相同的日志文件,然后日志文件疯狂增长与巨大的文件大小)?如果是这样,如何克服这个问题呢?必须为不同的服务类创建不同的日志文件?我想知道Log4j2是否能以某种方式使上面的场景工作

0 个答案:

没有答案