log4j2.xml配置规则
<RollingRandomAccessFile name="File" fileName="${path}/${application}.log"
filePattern="${path}/${application}-%d{yyyy-MM-dd}-%i.log">
<ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout pattern="${pattern}"/>
<Policies>
<TimeBasedTriggeringPolicy/>
<SizeBasedTriggeringPolicy size="100 MB"/>
</Policies>
<DefaultRolloverStrategy max="10"/>
</RollingRandomAccessFile>
昨天的日志叫test.log,到了今天后,昨天的日志归档为test-20181015-1.log,今天的还是往test.log里面写。但是使用单独的tomcat部署后,发现日期翻天到20181016后,会生成一个test-20181015-2.log的日志,并且往里面写日志。
最后查了半天,不是log4j2的配置问题,而是tomcat加载的问题,可以参考
https://blog.csdn.net/qq_30264833/article/details/74518880
https://blog.csdn.net/u012892787/article/details/53156863
https://blog.csdn.net/lmmzsn/article/details/77990538,
之前的配置为
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context docBase="erar" path="" reloadable="true" useHttpOnly="true" sessionCookiePath="/" sessionCookieDomain=""/>
现在改为
<Host name="localhost" appBase=""
unpackWARs="true" autoDeploy="true">
<Context docBase="webapps/erar" path="/eara" reloadable="true" useHttpOnly="true" sessionCookiePath="/" sessionCookieDomain=""/>
,war还是对到webapps下,会解压到webapps的同级目录。问题到此解决,日志可以正常输出。