﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Meta Model Enabling-随笔分类-Spring</title><link>http://www.blogjava.net/frogfool/category/6874.html</link><description>元模型使能</description><language>zh-cn</language><lastBuildDate>Thu, 01 Mar 2007 02:40:01 GMT</lastBuildDate><pubDate>Thu, 01 Mar 2007 02:40:01 GMT</pubDate><ttl>60</ttl><item><title>Spring对log4j的增强</title><link>http://www.blogjava.net/frogfool/archive/2006/01/10/27348.html</link><dc:creator>frogfool</dc:creator><author>frogfool</author><pubDate>Tue, 10 Jan 2006 03:15:00 GMT</pubDate><guid>http://www.blogjava.net/frogfool/archive/2006/01/10/27348.html</guid><wfw:comment>http://www.blogjava.net/frogfool/comments/27348.html</wfw:comment><comments>http://www.blogjava.net/frogfool/archive/2006/01/10/27348.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/frogfool/comments/commentRss/27348.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/frogfool/services/trackbacks/27348.html</trackback:ping><description><![CDATA[<FONT face=Verdana>Spring对log4j的增强 <BR>原文出处及讨论: http://www.blogjava.net/calvin/archive/2005/12/31/26150.html<BR><BR>Spring最擅长的，就是在别家的蛋糕上再加些cream，让你J2EE without Spring的时候心痒痒。<BR><BR>log4j，可以有如下的cream：<BR>1. 动态的改变记录级别和策略，不需要重启Web应用，如《Effective Enterprise Java》所说。<BR>2. 把log文件定在 /WEB-INF/logs/ 而不需要写绝对路径。<BR>3. 可以把log4j.properties和其他properties一起放在/WEB-INF/ ，而不是Class-Path。<BR><BR>在web.xml 添加 <BR><BR></FONT>
<DIV style="BORDER-RIGHT: rgb(204,204,204) 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: rgb(204,204,204) 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: rgb(204,204,204) 1px solid; WIDTH: 98%; PADDING-TOP: 4px; BORDER-BOTTOM: rgb(204,204,204) 1px solid; BACKGROUND-COLOR: rgb(238,238,238)" width:400px; overflow:auto;><FONT face=Verdana><BR>&nbsp;&nbsp;&nbsp; &lt;context-param&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-name&gt;log4jConfigLocation&lt;/param-name&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-value&gt;WEB-INF/log4j.properties&lt;/param-value&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/context-param&gt;<BR><BR>&nbsp;&nbsp;&nbsp; &lt;context-param&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-name&gt;log4jRefreshInterval&lt;/param-name&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-value&gt;60000&lt;/param-value&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/context-param&gt;<BR><BR>&nbsp;&nbsp;&nbsp; &lt;listener&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;listener-class&gt;org.springframework.web.util.Log4jConfigListener&lt;/listener-class&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/listener&gt;<BR></FONT></DIV><FONT face=Verdana><BR><BR>在上文的配置里,<BR>Log4jConfigListener会去WEB-INF/log4j.propeties 读取配置文件;<BR>开一条watchdog线程每60秒扫描一下配置文件的变化;<BR>并把web目录的路径压入一个叫webapp.root的系统变量。<BR>然后，在log4j.properties 里就可以这样定义logfile位置<BR><BR>&nbsp;&nbsp;&nbsp; log4j.appender.logfile.File=${webapp.root}/WEB-INF/logs/myfuse.log<BR>&nbsp;<BR>如果有多个web应用，怕webapp.root变量重复，可以在context-param里定义webAppRootKey。 <BR><BR><BR></FONT><img src ="http://www.blogjava.net/frogfool/aggbug/27348.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/frogfool/" target="_blank">frogfool</a> 2006-01-10 11:15 <a href="http://www.blogjava.net/frogfool/archive/2006/01/10/27348.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>