当前位置: 首页 > 面试题库 >

用log4j清除文件?

颜举
2023-03-14
问题内容

即时通讯使用log4j写入具有以下属性文件的文件:

log4j.rootLogger=DEBUG, FA

#File Appender
log4j.appender.FA=org.apache.log4j.FileAppender
log4j.appender.FA.File=temp.ppr
log4j.appender.FA.layout=org.apache.log4j.PatternLayout
log4j.appender.FA.layout.ConversionPattern= %m%n

我的问题是,在我的程序的每次运行中,我都想清除文件“ temp.ppr”,然后使用lo4j有效地对其进行写入?还是您建议其他解决方案

谢谢


问题答案:

您可以这样做:

log4j.appender.FA=org.apache.log4j.RollingFileAppender
log4j.appender.FA.MaxBackupIndex=1

然后在应用程序的启动代码中:

((RollingFileAppender)Logger.getRootLogger().getAppender("FA")).rollOver()

这样,对于程序的每次运行,现有日志都将移至“ temp.ppr.1”,并且“ temp.ppr”将重新开始。这样,您也总是拥有上一次运行的日志。



 类似资料:
  • 清除缓存文件clear 如果需要清除应用的缓存文件,可以使用下面的命令: php think clear 不带任何参数调用clear命令的话,会清除runtime目录(包括模板缓存、日志文件及其子目录)下面的所有的文件,但会保留目录。 如果需要清除某个指定目录下面的文件,可以使用: php think clear --path d:\www\tp5\runtime\log\ V5.1.10+版本开

  • 我目前正在使用log4j2为我的web应用程序编写日志。我已经配置了一个滚动文件追加器,可以在每晚午夜滚动。 我的log4j2.xml如下: 目前,这会写入名为application.log的日志,然后在午夜将当前的application.log文件复制到application yyy-MM-DD . log(文件名中的日期会被正确替换),并在第二天继续在application.log中记录日志。

  • 问题内容: 我希望日志在应用程序运行期间一直滚动,但是我希望在重新启动应用程序时重新启动日志。 更新: 根据erickson的反馈,我的appender如下所示: 我只是添加了以下行: 现在,它会在启动时截断基本日志文件,但不保留滚动文件。 问题答案: 如果将参数设置为,则在应用程序重新启动时,基本日志文件将“重新启动”。您是说要删除所有“滚动”日志文件吗?

  • 我已经改变了Laravel公共文件夹中的文件,但当我尝试使用链接下载时,它会下载旧文件。我曾经尝试过: php artisan缓存:清除 PHP工匠路由:缓存 PHP工匠视图:清晰 PHP artisan配置:缓存 但是没有成功。有人能帮我吗?

  • 问题内容: 我找不到答案的简单问题:如何使用JavaScript(或jQuery)取消选择可能在网页上选择的任何文本?EG用户单击并拖动以突出显示一些文本- 我想要一个函数deselectAll()来清除此选择。我应该怎么写呢? 谢谢您的帮助。 问题答案:

  • 问题内容: 我进行了一些测试,检查当某些字段中的文本无效时是否出现正确的错误消息。有效性检查之一是某个textarea元素不为空。 如果此文本区域中已经有文本,我如何告诉selenium清除该字段? 就像是: 问题答案: