例如,我第一次运行应用程序时(或者在我清除/ logs目录后立即),我希望log4j将应用程序的日志写入名为log.0的文件中.然后,我退出应用程序并重新启动它,我希望将日志写入log.1.等等.
我想在配置文件中保留它,但如果我不能,我想我可以在我的应用程序中,当设置log4j时总是这样做.
这可能吗?如果是这样,怎么样?
Ume*_*esh 15
可能这就是你要找的东西
http://veerasundar.com/blog/2009/08/how-to-create-a-new-log-file-for-each-time-the-application-runs/
**编辑:**我还有一个解决方案!但不知道它是否有效,但您可以尝试 http://www.mail-archive.com/log4cxx-user@logging.apache.org/msg02132.html
使用 log4j2 的解决方案:
<RollingFile name="RollingFile" fileName="${log-path}/GScraper.log"
filePattern="${log-path}/GScraper_%d{yyyy-MM-dd}_%i.log">
<ThresholdFilter level="WARN" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout>
<pattern>%level\t%d{yyyy-MM-dd HH:mm:ss} %c: %m%n</pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
<SizeBasedTriggeringPolicy size="32 MB" />
<OnStartupTriggeringPolicy/>
</Policies>
</RollingFile>
Run Code Online (Sandbox Code Playgroud)
注意OnStartupTriggeringPolicy和%我在filePattern。这样,每次运行应用程序时,Log4j 都会创建带有索引的新日志文件。
| 归档时间: |
|
| 查看次数: |
25397 次 |
| 最近记录: |