清除日志文件后,Log4j2停止记录到日志文件

时间:2019-06-21 10:11:35

标签: log4j2 weblogic12c

我正在Linux环境中的WebLogic上运行我的应用程序。使用">log4j2.log"清除日志文件的内容后。我的应用程序完全停止记录。

我尝试重新启动应用程序,然后重新启动服务器,但仍然没有日志。 还尝试使用rm -f删除文件,然后重新启动,但仍然没有日志。参见下面的配置。

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" monitorInterval="60">
    <Appenders>
        <RollingFile name="RollingFileAppender"
                     fileName="./PortalLogs/log4j2.log"
                     filePattern="./PortalLogs/log4j2.log.%i.%d{yyyy-MM-dd}"
                     immediateFlush="true">
            <PatternLayout>
                <Pattern>%d %-5p [%X{messageExtTxt}] [%c] %m%n</Pattern>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy interval="1" />
                <SizeBasedTriggeringPolicy size="10MB"/>
            </Policies>
            <RegexFilter regex="*DefaultMessageListenerContainer*" onMatch="DENY" onMismatch="ACCEPT"/>
            <DefaultRolloverStrategy max="30"/>
        </RollingFile>
    </Appenders>
    <Loggers>
        <Logger name="org.springframework.jms.listener.DefaultMessageListenerContainer" level="ERROR" >
            <AppenderRef ref="RollingFileAppender"/>
        </Logger>
        <Root level="INFO">
            <AppenderRef ref="RollingFileAppender" level="INFO"/>
        </Root>
    </Loggers>
</Configuration>

当我尝试使用从WinSCP中删除,然后重新启动服务器时,再次生成了日志文件,并且其中包含日志。

我的问题是,有没有一种方法可以安全地清除日志文件而不会导致此问题?预先感谢!

编辑:重新启动服务器之前,Linux在日志文件上的RM实际上可以正常工作并重新创建日志文件,但是仍然有办法使用“> log4j2.log”或修改文件后使它工作吗?我们需要此协议,因为我们有一个协议可以对自动化测试进行初始运行,清除所有内容,然后进行实际运行。

0 个答案:

没有答案