Log4j提供的appender有以下几种:
org.apache.log4j.ConsoleAppender(控制台),
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
org.apache.log4j.ConsoleAppender(控制台),
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
解决方案 »
- Java写的聊天程序,为什么发送成功,但显示失败?
- Java执行出错:ClassNotFoundException: org.postgresql.Driver
- 写了个struts2的demo,启动tomcat总说找不到filterdispatcher类文件
- netbeans 上运行java petstore
- 急求:session问题!!!
- struts2里有关<s:autocompleter>标签的两个小问题,望高手指教
- 高分求解:一个Struts工程里加载了多个struts-config.xml的配置文件,具体怎样使用
- 对map怎么排序
- [友情散分200分] 从数据处理“速度上”讨论b/s结构的问题,欢迎大家的参与以及各种宝贵意见
- java.sql.SQLException: No operations allowed after statement closed问题
- 救命啊------弄了一天了还不行,郁闷................
- 请教关于hibernate 3.0 的初始化报错java.lang.ClassCastException:
如:修改log4j.properties文件中的参数(日志文件大小参数由200K该为20K)后,所产生的日志文件大小就立刻只能生成到20K就从新产生新的日志文件,而不是原来的200K后再产生新文件,且必须是不重启动服务器的前提条件!
web项目中log4j一般在服务启动时通过了web.xml设定 利用某个指定Servlet(这里假设是Log4jInit.java)的init()方法读取了log4j的属性配置文件,放置在内存中,由于指定的Servlet的Log4jInit.init()方法在整个服务运行期间只执行一次,所以在服务运行状态下 你无论怎么改动配置文件其实都与内存中的设定无关了。
不过可以试试 改动Log4jInit.java 服务器发现 该Servlet改动后会重新创建一次 ,看能否实现吧。先说了,我没试过 ,不过理论可以的:)
我试了一下改动Log4jInit.java 保存后 配置文件立即生效了
PropertyConfigurator.configureAndWatch("c://log4j.properties",60000);//每分钟检测一次文件是否被更改,如果更改,则自动重新读取配置。DOMConfigurator.configureAndWatch("c://log4j.properties",60000);//xml配置格式的。