我正在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”或修改文件后使它工作吗?我们需要此协议,因为我们有一个协议可以对自动化测试进行初始运行,清除所有内容,然后进行实际运行。