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

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

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

现在请问各位在log4j中有没有直接调用的方法可以去直接刷新log4j.properties配置文件信息,使日志打印信息不用重启服务器的情况下就生效;如果在log4j中没有直接引用的相关方法可不可以直接写一个来刷新log4j.properties配置文件的类,怎么去写?请给出相关代码?谢谢!
...全文
563 点赞 收藏 21
写回复
21 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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(将日志信息以流格式发送到任意指定的地方)
回复
加载更多回复
相关推荐
发帖
Java EE
创建于2007-09-28

6.7w+

社区成员

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
申请成为版主
帖子事件
创建了帖子
2006-03-23 10:10
社区公告
暂无公告