【发布时间】:2013-02-17 07:08:33
【问题描述】:
如何将 log4j 配置为 Auto 创建应用程序日志文件时 手动删除,不重启 服务器? 目前我们必须重启 服务器如果有人删除日志 文件。我们正在使用 websphere 应用服务器。
【问题讨论】:
-
谢谢阿尼尔。实际上,我正在寻找 log4j 级别的配置,而不是按照您共享的帖子链接中的建议编写一些实现,但我认为这是唯一的方法。
如何将 log4j 配置为 Auto 创建应用程序日志文件时 手动删除,不重启 服务器? 目前我们必须重启 服务器如果有人删除日志 文件。我们正在使用 websphere 应用服务器。
【问题讨论】:
我认为您在 web 应用程序中使用 log4j,所以也许下面的方法可能会有所帮助:
写一个jsp文件来重新配置log4j。把它放在 webapp flder 中。就像这样:
reset.jsp
<%
java.util.Properties pro = new java.util.Properties();
pro.put("log4j.appender.A1.Threshold","INFO");
pro.put("log4j.appender.A1","org.apache.log4j.RollingFileAppender");
pro.put("log4j.appender.A1.File","/var/log/h3cloud.log");
pro.put("log4j.appender.A1.MaxFileSize","100000KB");
pro.put("log4j.appender.A1.MaxBackupIndex","5");
/* 所有 log4j.properties 内容.. */
org.apache.log4j.LogManager.resetConfiguration();
org.apache.log4j.PropertyConfigurator.configure(pro);
%>
删除“/var/log/tomcat6/h3cloud.log”后,打开http://*/reset.jsp,新的“/var/log/h3coud.log” " 被重新创建。
【讨论】: