关于修改Log4j配置文件后使之打印日志信息及时生效的问题?急急急急急急急急急急急急急急急急急急急急急????????

wangxindong 2006-03-23 10:10:40
我应用tomcat作为服务器,做了个JSP页面,是专门修改log4j.properties配置文件中的配置值的,当我提交页面修改完此文件中配置值后,要重启tomcat服务器后,新的修改配置才能起作用;

例如修改配置文件中打印级别后,tomcat后台的打印日志信息级别不能马上生效,而要重启tomcat服务器后才能打印出修改后的打印级别,不然还是引用一开始的打印级别;

现在请问各位在log4j中有没有直接调用的方法可以去直接刷新log4j.properties配置文件信息,使日志打印信息不用重启服务器的情况下就生效;如果在log4j中没有直接引用的相关方法可不可以直接写一个来刷新log4j.properties配置文件的类,怎么去写?请给出相关代码?谢谢!
...全文
621 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangxindong 2006-04-09
  • 打赏
  • 举报
回复
今日结贴!谢谢各位参与!
pigo 2006-04-06
  • 打赏
  • 举报
回复
log4j自带有FileWatchdog功能:


PropertyConfigurator.configureAndWatch("c://log4j.properties",60000);//每分钟检测一次文件是否被更改,如果更改,则自动重新读取配置。

DOMConfigurator.configureAndWatch("c://log4j.properties",60000);//xml配置格式的。

haohao100 2006-04-06
  • 打赏
  • 举报
回复
ding
wangxindong 2006-04-05
  • 打赏
  • 举报
回复
再冒个泡
haohao100 2006-04-04
  • 打赏
  • 举报
回复
楼上的说了等于没有说?
jolestar 2006-04-04
  • 打赏
  • 举报
回复
我觉得你可以写一个初始化log4j的servlet,然后更改配置后把哪个servlet运行一下就可以了。
wangxindong 2006-04-03
  • 打赏
  • 举报
回复
在tomcat中的serverl.xml中的reloadable=true属性本来就是为true的
wangxindong 2006-04-01
  • 打赏
  • 举报
回复
shi shi kan xian
haohao100 2006-03-31
  • 打赏
  • 举报
回复
ding
ohbug 2006-03-31
  • 打赏
  • 举报
回复
server.xml文件中修改那个属性。
LexChen 2006-03-31
  • 打赏
  • 举报
回复
顶5楼
wangxindong 2006-03-30
  • 打赏
  • 举报
回复
请问是哪个文件呀?
醉梦书生 2006-03-29
  • 打赏
  • 举报
回复
在tomcat中把该工程reloadable=true设定之后tomcat就可以自动监测工程的变动了,不过会影响tomcat的运行效率
wangxindong 2006-03-29
  • 打赏
  • 举报
回复
怎么没有人来顶一下呀?
wangxindong 2006-03-28
  • 打赏
  • 举报
回复
请问兄弟在log4j源码中哪里有Log4jInit.java这个类呀?
wangxindong 2006-03-26
  • 打赏
  • 举报
回复
谁有过这方面的研究?或有相关明确方法?
cwill 2006-03-26
  • 打赏
  • 举报
回复
理论变成现实了
我试了一下改动Log4jInit.java 保存后 配置文件立即生效了
cwill 2006-03-25
  • 打赏
  • 举报
回复
为了提高效率在web项目中与在应用项目中不同
web项目中log4j一般在服务启动时通过了web.xml设定 利用某个指定Servlet(这里假设是Log4jInit.java)的init()方法读取了log4j的属性配置文件,放置在内存中,由于指定的Servlet的Log4jInit.init()方法在整个服务运行期间只执行一次,所以在服务运行状态下 你无论怎么改动配置文件其实都与内存中的设定无关了。
不过可以试试 改动Log4jInit.java 服务器发现 该Servlet改动后会重新创建一次 ,看能否实现吧。先说了,我没试过 ,不过理论可以的:)
wangxindong 2006-03-24
  • 打赏
  • 举报
回复
我主要是想达到时时修改配置文件log4j.properties中参数而立刻使之生效,且不用重新启动tomcat 服务器;
如:修改log4j.properties文件中的参数(日志文件大小参数由200K该为20K)后,所产生的日志文件大小就立刻只能生成到20K就从新产生新的日志文件,而不是原来的200K后再产生新文件,且必须是不重启动服务器的前提条件!
pigengler 2006-03-24
  • 打赏
  • 举报
回复
Log4j提供的appender有以下几种:
org.apache.log4j.ConsoleAppender(控制台),
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
加载更多回复(1)

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧