﻿<?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-用手做事，用心做事，用生命做事-随笔分类-log4j----分类</title><link>http://www.blogjava.net/wyxdeniro/category/28010.html</link><description>舍我其谁</description><language>zh-cn</language><lastBuildDate>Fri, 14 Dec 2007 06:48:16 GMT</lastBuildDate><pubDate>Fri, 14 Dec 2007 06:48:16 GMT</pubDate><ttl>60</ttl><item><title>log4j学习笔记（5）---动态装载log4j</title><link>http://www.blogjava.net/wyxdeniro/archive/2007/12/14/167709.html</link><dc:creator>王永庆</dc:creator><author>王永庆</author><pubDate>Fri, 14 Dec 2007 03:12:00 GMT</pubDate><guid>http://www.blogjava.net/wyxdeniro/archive/2007/12/14/167709.html</guid><wfw:comment>http://www.blogjava.net/wyxdeniro/comments/167709.html</wfw:comment><comments>http://www.blogjava.net/wyxdeniro/archive/2007/12/14/167709.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wyxdeniro/comments/commentRss/167709.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wyxdeniro/services/trackbacks/167709.html</trackback:ping><description><![CDATA[利用servlet初始化时配置log的存放位置<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.wyq.test;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.io.FileInputStream;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.io.IOException;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.util.Properties;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.servlet.ServletConfig;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.servlet.ServletException;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.servlet.http.HttpServlet;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;org.apache.log4j.Logger;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;org.apache.log4j.PropertyConfigurator;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img id="Codehighlighter1_352_1276_Open_Image" onclick="this.style.display='none'; Codehighlighter1_352_1276_Open_Text.style.display='none'; Codehighlighter1_352_1276_Closed_Image.style.display='inline'; Codehighlighter1_352_1276_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_352_1276_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_352_1276_Closed_Text.style.display='none'; Codehighlighter1_352_1276_Open_Image.style.display='inline'; Codehighlighter1_352_1276_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;Log4jInit&nbsp;</span><span style="color: #0000ff">extends</span><span style="color: #000000">&nbsp;HttpServlet&nbsp;</span><span id="Codehighlighter1_352_1276_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_352_1276_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">final</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">long</span><span style="color: #000000">&nbsp;serialVersionUID&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">1L</span><span style="color: #000000">;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;Logger&nbsp;logger&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Logger.getLogger(Log4jInit.</span><span style="color: #0000ff">class</span><span style="color: #000000">);&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img id="Codehighlighter1_495_500_Open_Image" onclick="this.style.display='none'; Codehighlighter1_495_500_Open_Text.style.display='none'; Codehighlighter1_495_500_Closed_Image.style.display='inline'; Codehighlighter1_495_500_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_495_500_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_495_500_Closed_Text.style.display='none'; Codehighlighter1_495_500_Open_Image.style.display='inline'; Codehighlighter1_495_500_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;Log4jInit()&nbsp;</span><span id="Codehighlighter1_495_500_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_495_500_Open_Text"><span style="color: #000000">{&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img id="Codehighlighter1_568_1272_Open_Image" onclick="this.style.display='none'; Codehighlighter1_568_1272_Open_Text.style.display='none'; Codehighlighter1_568_1272_Closed_Image.style.display='inline'; Codehighlighter1_568_1272_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_568_1272_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_568_1272_Closed_Text.style.display='none'; Codehighlighter1_568_1272_Open_Image.style.display='inline'; Codehighlighter1_568_1272_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;init(ServletConfig&nbsp;config)&nbsp;</span><span style="color: #0000ff">throws</span><span style="color: #000000">&nbsp;ServletException&nbsp;</span><span id="Codehighlighter1_568_1272_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_568_1272_Open_Text"><span style="color: #000000">{&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;prefix&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;config.getServletContext().getRealPath(</span><span style="color: #000000">"</span><span style="color: #000000">/</span><span style="color: #000000">"</span><span style="color: #000000">);&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;file&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;config.getInitParameter(</span><span style="color: #000000">"</span><span style="color: #000000">log4j</span><span style="color: #000000">"</span><span style="color: #000000">);&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;filePath&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;prefix&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;file;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;Properties&nbsp;props&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Properties();&nbsp;<br />
<img id="Codehighlighter1_763_1090_Open_Image" onclick="this.style.display='none'; Codehighlighter1_763_1090_Open_Text.style.display='none'; Codehighlighter1_763_1090_Closed_Image.style.display='inline'; Codehighlighter1_763_1090_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_763_1090_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_763_1090_Closed_Text.style.display='none'; Codehighlighter1_763_1090_Open_Image.style.display='inline'; Codehighlighter1_763_1090_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">&nbsp;</span><span id="Codehighlighter1_763_1090_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_763_1090_Open_Text"><span style="color: #000000">{&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;FileInputStream&nbsp;istream&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;FileInputStream(filePath);&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;props.load(istream);&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;istream.close();&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;logFile&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;prefix&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;props.getProperty(</span><span style="color: #000000">"</span><span style="color: #000000">log4j.appender.logfile.File</span><span style="color: #000000">"</span><span style="color: #000000">);</span><span style="color: #008000">//</span><span style="color: #008000">设置路径&nbsp;</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;props.setProperty(</span><span style="color: #000000">"</span><span style="color: #000000">log4j.appender.logfile.File</span><span style="color: #000000">"</span><span style="color: #000000">,logFile);&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;PropertyConfigurator.configure(props);</span><span style="color: #008000">//</span><span style="color: #008000">装入log4j配置信息&nbsp;</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;logger.info(logFile);&nbsp;<br />
<img id="Codehighlighter1_1114_1268_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1114_1268_Open_Text.style.display='none'; Codehighlighter1_1114_1268_Closed_Image.style.display='inline'; Codehighlighter1_1114_1268_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_1114_1268_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1114_1268_Closed_Text.style.display='none'; Codehighlighter1_1114_1268_Open_Image.style.display='inline'; Codehighlighter1_1114_1268_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(IOException&nbsp;e)&nbsp;</span><span id="Codehighlighter1_1114_1268_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1114_1268_Open_Text"><span style="color: #000000">{&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;logger.debug(</span><span style="color: #000000">"</span><span style="color: #000000">Could&nbsp;not&nbsp;read&nbsp;configuration&nbsp;file&nbsp;[</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;filePath&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">].</span><span style="color: #000000">"</span><span style="color: #000000">);&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;logger.debug(</span><span style="color: #000000">"</span><span style="color: #000000">Ignoring&nbsp;configuration&nbsp;file&nbsp;[</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;filePath&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">].</span><span style="color: #000000">"</span><span style="color: #000000">);&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">&lt;?</span><span style="color: #ff00ff">xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"</span><span style="color: #0000ff">?&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">web-app&nbsp;</span><span style="color: #ff0000">version</span><span style="color: #0000ff">="2.4"</span><span style="color: #ff0000">&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;xmlns</span><span style="color: #0000ff">="http://java.sun.com/xml/ns/j2ee"</span><span style="color: #ff0000">&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;xmlns:xsi</span><span style="color: #0000ff">="http://www.w3.org/2001/XMLSchema-instance"</span><span style="color: #ff0000">&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;xsi:schemaLocation</span><span style="color: #0000ff">="http://java.sun.com/xml/ns/j2ee&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">welcome-file-list</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">welcome-file</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">index.jsp</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">welcome-file</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">welcome-file-list</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">servlet</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">servlet-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">log4j-init</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">servlet-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">servlet-class</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">com.wyq.test.Log4jInit</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">servlet-class</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">init-param</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">param-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">log4j</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">param-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">param-value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">WEB-INF/classes/log4j.properties</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">param-value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">init-param</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">load-on-startup</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">1</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">load-on-startup</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">servlet</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">web-app</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">&nbsp;#For&nbsp;JBoss:&nbsp;Avoid&nbsp;to&nbsp;setup&nbsp;Log4J&nbsp;outside&nbsp;$JBOSS_HOME/server/default/deploy/log4j.xml!&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />#&nbsp;For&nbsp;all&nbsp;other&nbsp;servers:&nbsp;Comment&nbsp;out&nbsp;the&nbsp;Log4J&nbsp;listener&nbsp;in&nbsp;web.xml&nbsp;to&nbsp;activate&nbsp;Log4J.&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />log4j.rootLogger</span><span style="color: #000000">=</span><span style="color: #000000">INFO</span><span style="color: #000000">,</span><span style="color: #000000">&nbsp;stdout</span><span style="color: #000000">,</span><span style="color: #000000">&nbsp;logfile&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />log4j.appender.stdout</span><span style="color: #000000">=</span><span style="color: #000000">org.apache.log4j.ConsoleAppender&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />log4j.appender.stdout.layout</span><span style="color: #000000">=</span><span style="color: #000000">org.apache.log4j.PatternLayout&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />log4j.appender.stdout.layout.ConversionPattern</span><span style="color: #000000">=</span><span style="color: #000000">%d&nbsp;%p&nbsp;</span><span style="font-weight: bold; color: #800000">[</span><span style="color: #800000">%c</span><span style="font-weight: bold; color: #800000">]</span><span style="color: #000000">&nbsp;-&nbsp;%m%n&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />log4j.appender.logfile</span><span style="color: #000000">=</span><span style="color: #000000">org.apache.log4j.RollingFileAppender&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />log4j.appender.logfile.File</span><span style="color: #000000">=</span><span style="color: #000000">cis.log&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />log4j.appender.logfile.MaxFileSize</span><span style="color: #000000">=</span><span style="color: #000000">1024KB&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />#&nbsp;Keep&nbsp;three&nbsp;backup&nbsp;files.&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />log4j.appender.logfile.MaxBackupIndex</span><span style="color: #000000">=</span><span style="color: #000000">3</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />#&nbsp;Pattern&nbsp;to&nbsp;output:&nbsp;date&nbsp;priority&nbsp;</span><span style="font-weight: bold; color: #800000">[</span><span style="color: #800000">category</span><span style="font-weight: bold; color: #800000">]</span><span style="color: #000000">&nbsp;-&nbsp;message&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />log4j.appender.logfile.layout</span><span style="color: #000000">=</span><span style="color: #000000">org.apache.log4j.PatternLayout&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />log4j.appender.logfile.layout.ConversionPattern</span><span style="color: #000000">=</span><span style="color: #000000">%d&nbsp;%p&nbsp;</span><span style="font-weight: bold; color: #800000">[</span><span style="color: #800000">%c</span><span style="font-weight: bold; color: #800000">]</span><span style="color: #000000">&nbsp;-&nbsp;%m%n&nbsp;&nbsp;</span></div>
 <img src ="http://www.blogjava.net/wyxdeniro/aggbug/167709.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wyxdeniro/" target="_blank">王永庆</a> 2007-12-14 11:12 <a href="http://www.blogjava.net/wyxdeniro/archive/2007/12/14/167709.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>log4j学习笔记4---转中国it实验室</title><link>http://www.blogjava.net/wyxdeniro/archive/2007/12/10/166731.html</link><dc:creator>王永庆</dc:creator><author>王永庆</author><pubDate>Mon, 10 Dec 2007 09:37:00 GMT</pubDate><guid>http://www.blogjava.net/wyxdeniro/archive/2007/12/10/166731.html</guid><wfw:comment>http://www.blogjava.net/wyxdeniro/comments/166731.html</wfw:comment><comments>http://www.blogjava.net/wyxdeniro/archive/2007/12/10/166731.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wyxdeniro/comments/commentRss/166731.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wyxdeniro/services/trackbacks/166731.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.cn.lx;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;Log&nbsp;&nbsp;<br />
<img id="Codehighlighter1_40_771_Open_Image" onclick="this.style.display='none'; Codehighlighter1_40_771_Open_Text.style.display='none'; Codehighlighter1_40_771_Closed_Image.style.display='inline'; Codehighlighter1_40_771_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_40_771_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_40_771_Closed_Text.style.display='none'; Codehighlighter1_40_771_Open_Image.style.display='inline'; Codehighlighter1_40_771_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_40_771_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_40_771_Open_Text"><span style="color: #000000">{&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;EncapsulationLog4J&nbsp;log&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;EncapsulationLog4J.getInstance();&nbsp;&nbsp;<br />
<img id="Codehighlighter1_120_131_Open_Image" onclick="this.style.display='none'; Codehighlighter1_120_131_Open_Text.style.display='none'; Codehighlighter1_120_131_Closed_Image.style.display='inline'; Codehighlighter1_120_131_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_120_131_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_120_131_Closed_Text.style.display='none'; Codehighlighter1_120_131_Open_Image.style.display='inline'; Codehighlighter1_120_131_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_120_131_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**&nbsp;*/</span><span id="Codehighlighter1_120_131_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000">&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />*&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" /></span><span style="color: #008000">*/</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;Log()&nbsp;&nbsp;<br />
<img id="Codehighlighter1_150_167_Open_Image" onclick="this.style.display='none'; Codehighlighter1_150_167_Open_Text.style.display='none'; Codehighlighter1_150_167_Closed_Image.style.display='inline'; Codehighlighter1_150_167_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_150_167_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_150_167_Closed_Text.style.display='none'; Codehighlighter1_150_167_Open_Image.style.display='inline'; Codehighlighter1_150_167_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_150_167_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_150_167_Open_Text"><span style="color: #000000">{&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #008000">//</span><span style="color: #008000">super();&nbsp;&nbsp;</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" /></span><span style="color: #000000">}</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;logError(String&nbsp;msg)&nbsp;&nbsp;<br />
<img id="Codehighlighter1_213_241_Open_Image" onclick="this.style.display='none'; Codehighlighter1_213_241_Open_Text.style.display='none'; Codehighlighter1_213_241_Closed_Image.style.display='inline'; Codehighlighter1_213_241_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_213_241_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_213_241_Closed_Text.style.display='none'; Codehighlighter1_213_241_Open_Image.style.display='inline'; Codehighlighter1_213_241_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_213_241_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_213_241_Open_Text"><span style="color: #000000">{&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />log.log(</span><span style="color: #000000">"</span><span style="color: #000000">ERROR</span><span style="color: #000000">"</span><span style="color: #000000">,msg);&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;logError(Throwable&nbsp;e)&nbsp;&nbsp;<br />
<img id="Codehighlighter1_288_319_Open_Image" onclick="this.style.display='none'; Codehighlighter1_288_319_Open_Text.style.display='none'; Codehighlighter1_288_319_Closed_Image.style.display='inline'; Codehighlighter1_288_319_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_288_319_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_288_319_Closed_Text.style.display='none'; Codehighlighter1_288_319_Open_Image.style.display='inline'; Codehighlighter1_288_319_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_288_319_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_288_319_Open_Text"><span style="color: #000000">{&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />log.log(</span><span style="color: #000000">"</span><span style="color: #000000">ERROR</span><span style="color: #000000">"</span><span style="color: #000000">,</span><span style="color: #0000ff">null</span><span style="color: #000000">,e);&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;logWarn(String&nbsp;msg)&nbsp;&nbsp;<br />
<img id="Codehighlighter1_364_391_Open_Image" onclick="this.style.display='none'; Codehighlighter1_364_391_Open_Text.style.display='none'; Codehighlighter1_364_391_Closed_Image.style.display='inline'; Codehighlighter1_364_391_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_364_391_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_364_391_Closed_Text.style.display='none'; Codehighlighter1_364_391_Open_Image.style.display='inline'; Codehighlighter1_364_391_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_364_391_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_364_391_Open_Text"><span style="color: #000000">{&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />log.log(</span><span style="color: #000000">"</span><span style="color: #000000">WARN</span><span style="color: #000000">"</span><span style="color: #000000">,msg);&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;logWarn(Throwable&nbsp;e)&nbsp;&nbsp;<br />
<img id="Codehighlighter1_437_467_Open_Image" onclick="this.style.display='none'; Codehighlighter1_437_467_Open_Text.style.display='none'; Codehighlighter1_437_467_Closed_Image.style.display='inline'; Codehighlighter1_437_467_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_437_467_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_437_467_Closed_Text.style.display='none'; Codehighlighter1_437_467_Open_Image.style.display='inline'; Codehighlighter1_437_467_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_437_467_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_437_467_Open_Text"><span style="color: #000000">{&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />log.log(</span><span style="color: #000000">"</span><span style="color: #000000">WARN</span><span style="color: #000000">"</span><span style="color: #000000">,</span><span style="color: #0000ff">null</span><span style="color: #000000">,e);&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;logInfo(String&nbsp;msg)&nbsp;&nbsp;<br />
<img id="Codehighlighter1_512_539_Open_Image" onclick="this.style.display='none'; Codehighlighter1_512_539_Open_Text.style.display='none'; Codehighlighter1_512_539_Closed_Image.style.display='inline'; Codehighlighter1_512_539_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_512_539_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_512_539_Closed_Text.style.display='none'; Codehighlighter1_512_539_Open_Image.style.display='inline'; Codehighlighter1_512_539_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_512_539_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_512_539_Open_Text"><span style="color: #000000">{&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />log.log(</span><span style="color: #000000">"</span><span style="color: #000000">INFO</span><span style="color: #000000">"</span><span style="color: #000000">,msg);&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;logInfo(Throwable&nbsp;e)&nbsp;&nbsp;<br />
<img id="Codehighlighter1_585_615_Open_Image" onclick="this.style.display='none'; Codehighlighter1_585_615_Open_Text.style.display='none'; Codehighlighter1_585_615_Closed_Image.style.display='inline'; Codehighlighter1_585_615_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_585_615_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_585_615_Closed_Text.style.display='none'; Codehighlighter1_585_615_Open_Image.style.display='inline'; Codehighlighter1_585_615_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_585_615_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_585_615_Open_Text"><span style="color: #000000">{&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />log.log(</span><span style="color: #000000">"</span><span style="color: #000000">INFO</span><span style="color: #000000">"</span><span style="color: #000000">,</span><span style="color: #0000ff">null</span><span style="color: #000000">,e);&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;logDebug(String&nbsp;msg)&nbsp;&nbsp;<br />
<img id="Codehighlighter1_661_689_Open_Image" onclick="this.style.display='none'; Codehighlighter1_661_689_Open_Text.style.display='none'; Codehighlighter1_661_689_Closed_Image.style.display='inline'; Codehighlighter1_661_689_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_661_689_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_661_689_Closed_Text.style.display='none'; Codehighlighter1_661_689_Open_Image.style.display='inline'; Codehighlighter1_661_689_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_661_689_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_661_689_Open_Text"><span style="color: #000000">{&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />log.log(</span><span style="color: #000000">"</span><span style="color: #000000">DEBUG</span><span style="color: #000000">"</span><span style="color: #000000">,msg);&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;logDebug(Throwable&nbsp;e)&nbsp;&nbsp;<br />
<img id="Codehighlighter1_736_767_Open_Image" onclick="this.style.display='none'; Codehighlighter1_736_767_Open_Text.style.display='none'; Codehighlighter1_736_767_Closed_Image.style.display='inline'; Codehighlighter1_736_767_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_736_767_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_736_767_Closed_Text.style.display='none'; Codehighlighter1_736_767_Open_Image.style.display='inline'; Codehighlighter1_736_767_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_736_767_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_736_767_Open_Text"><span style="color: #000000">{&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />log.log(</span><span style="color: #000000">"</span><span style="color: #000000">DEBUG</span><span style="color: #000000">"</span><span style="color: #000000">,</span><span style="color: #0000ff">null</span><span style="color: #000000">,e);&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000">&nbsp;&nbsp;</span></div>
<p><br />
TestLog.java&nbsp;//调用Log类&nbsp;&nbsp;<br />
</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.cn.lx;&nbsp;&nbsp;<br />
<img id="Codehighlighter1_41_417_Open_Image" onclick="this.style.display='none'; Codehighlighter1_41_417_Open_Text.style.display='none'; Codehighlighter1_41_417_Closed_Image.style.display='inline'; Codehighlighter1_41_417_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_41_417_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_41_417_Closed_Text.style.display='none'; Codehighlighter1_41_417_Open_Image.style.display='inline'; Codehighlighter1_41_417_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;TestLog</span><span id="Codehighlighter1_41_417_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_41_417_Open_Text"><span style="color: #000000">{&nbsp;&nbsp;<br />
<img id="Codehighlighter1_84_413_Open_Image" onclick="this.style.display='none'; Codehighlighter1_84_413_Open_Text.style.display='none'; Codehighlighter1_84_413_Closed_Image.style.display='inline'; Codehighlighter1_84_413_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_84_413_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_84_413_Closed_Text.style.display='none'; Codehighlighter1_84_413_Open_Image.style.display='inline'; Codehighlighter1_84_413_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;main(String[]&nbsp;args)&nbsp;</span><span id="Codehighlighter1_84_413_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_84_413_Open_Text"><span style="color: #000000">{&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />Log&nbsp;test&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Log();&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />test.logDebug(</span><span style="color: #000000">"</span><span style="color: #000000">DEBUG</span><span style="color: #000000">"</span><span style="color: #000000">);&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />test.logInfo(</span><span style="color: #000000">"</span><span style="color: #000000">INFO</span><span style="color: #000000">"</span><span style="color: #000000">);&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />test.logWarn(</span><span style="color: #000000">"</span><span style="color: #000000">WARN</span><span style="color: #000000">"</span><span style="color: #000000">);&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />test.logError(</span><span style="color: #000000">"</span><span style="color: #000000">ERROR</span><span style="color: #000000">"</span><span style="color: #000000">);&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">try</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img id="Codehighlighter1_218_261_Open_Image" onclick="this.style.display='none'; Codehighlighter1_218_261_Open_Text.style.display='none'; Codehighlighter1_218_261_Closed_Image.style.display='inline'; Codehighlighter1_218_261_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_218_261_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_218_261_Closed_Text.style.display='none'; Codehighlighter1_218_261_Open_Image.style.display='inline'; Codehighlighter1_218_261_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_218_261_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_218_261_Open_Text"><span style="color: #000000">{&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Integer.parseInt(</span><span style="color: #000000">"</span><span style="color: #000000">lixiang</span><span style="color: #000000">"</span><span style="color: #000000">);&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #0000ff">catch</span><span style="color: #000000">(Exception&nbsp;e)&nbsp;&nbsp;<br />
<img id="Codehighlighter1_283_409_Open_Image" onclick="this.style.display='none'; Codehighlighter1_283_409_Open_Text.style.display='none'; Codehighlighter1_283_409_Closed_Image.style.display='inline'; Codehighlighter1_283_409_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_283_409_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_283_409_Closed_Text.style.display='none'; Codehighlighter1_283_409_Open_Image.style.display='inline'; Codehighlighter1_283_409_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_283_409_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_283_409_Open_Text"><span style="color: #000000">{&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />test.logDebug(e.toString());&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />test.logInfo(e.toString());&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />test.logWarn(e.toString());&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />test.logError(e.toString());&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000">&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<img src ="http://www.blogjava.net/wyxdeniro/aggbug/166731.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wyxdeniro/" target="_blank">王永庆</a> 2007-12-10 17:37 <a href="http://www.blogjava.net/wyxdeniro/archive/2007/12/10/166731.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>log4j学习笔记3---转中国it实验室</title><link>http://www.blogjava.net/wyxdeniro/archive/2007/12/10/166728.html</link><dc:creator>王永庆</dc:creator><author>王永庆</author><pubDate>Mon, 10 Dec 2007 09:35:00 GMT</pubDate><guid>http://www.blogjava.net/wyxdeniro/archive/2007/12/10/166728.html</guid><wfw:comment>http://www.blogjava.net/wyxdeniro/comments/166728.html</wfw:comment><comments>http://www.blogjava.net/wyxdeniro/archive/2007/12/10/166728.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wyxdeniro/comments/commentRss/166728.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wyxdeniro/services/trackbacks/166728.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 二,Log4J对数据库的操作:&nbsp;&nbsp;其目的就是把日志信息写入数据库以方便开发人员和测试人员查询.&nbsp;&nbsp;下面是写入数据库的配置文件:log4j.properties&nbsp;&nbsp;log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender&nbsp;&nbsp;log4j.appen...&nbsp;&nbsp;<a href='http://www.blogjava.net/wyxdeniro/archive/2007/12/10/166728.html'>阅读全文</a><img src ="http://www.blogjava.net/wyxdeniro/aggbug/166728.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wyxdeniro/" target="_blank">王永庆</a> 2007-12-10 17:35 <a href="http://www.blogjava.net/wyxdeniro/archive/2007/12/10/166728.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>log4j学习笔记2---转中国it实验室</title><link>http://www.blogjava.net/wyxdeniro/archive/2007/11/26/163304.html</link><dc:creator>王永庆</dc:creator><author>王永庆</author><pubDate>Mon, 26 Nov 2007 09:55:00 GMT</pubDate><guid>http://www.blogjava.net/wyxdeniro/archive/2007/11/26/163304.html</guid><wfw:comment>http://www.blogjava.net/wyxdeniro/comments/163304.html</wfw:comment><comments>http://www.blogjava.net/wyxdeniro/archive/2007/11/26/163304.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wyxdeniro/comments/commentRss/163304.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wyxdeniro/services/trackbacks/163304.html</trackback:ping><description><![CDATA[<p><font face="Verdana">1&nbsp;关于log4j的文章---粗略看了一遍，不错！&nbsp;&nbsp;<br />
&nbsp;出处给忘了好像是下面这个：&nbsp;&nbsp;<br />
&nbsp;&nbsp;http://dev2dev.bea.com.cn/bbs/servlet/D2DServlet/download/124-14026-77822-650/深入学习Log4J.pdf&nbsp;<br />
深入学习Log4J&nbsp;&nbsp;<br />
李翔&nbsp;&nbsp;<br />
<br />
内容:&nbsp;&nbsp;<br />
一,Log4J配置文件的学习&nbsp;&nbsp;<br />
二,Log4J数据库&nbsp;&nbsp;<br />
三,Log4J封装&nbsp;&nbsp;<br />
一,Log4J配置文件学习:&nbsp;&nbsp;<br />
Log4j支持两种配置文件格式,一种是XML格式的文件,一种是Java特性文件(键=值).&nbsp;<br />
下面我们首先介绍使用Java特性文件做为配置文件的方法:&nbsp;&nbsp;<br />
分析一个配置文件log4j.properties&nbsp;&nbsp;<br />
log4j.rootCategory=debug,&nbsp;stdout,&nbsp;R&nbsp;&nbsp;<br />
log4j.appender.stdout=org.apache.log4j.ConsoleAppender&nbsp;&nbsp;<br />
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout&nbsp;&nbsp;<br />
#&nbsp;Pattern&nbsp;to&nbsp;output&nbsp;the&nbsp;caller's&nbsp;file&nbsp;name&nbsp;and&nbsp;line&nbsp;number.&nbsp;&nbsp;<br />
log4j.appender.stdout.layout.ConversionPattern=%5p&nbsp;[%t]&nbsp;(%F:%L)&nbsp;-&nbsp;%m%n&nbsp;&nbsp;<br />
log4j.appender.R=org.apache.log4j.RollingFileAppender&nbsp;&nbsp;<br />
log4j.appender.R.File=example.log&nbsp;&nbsp;<br />
log4j.appender.R.MaxFileSize=100KB&nbsp;&nbsp;<br />
#&nbsp;Keep&nbsp;one&nbsp;backup&nbsp;file&nbsp;&nbsp;<br />
log4j.appender.R.MaxBackupIndex=1&nbsp;&nbsp;<br />
log4j.appender.R.layout=org.apache.log4j.PatternLayout&nbsp;&nbsp;<br />
log4j.appender.R.layout.ConversionPattern=%p&nbsp;%t&nbsp;%c&nbsp;-&nbsp;%m%n&nbsp;&nbsp;<br />
说明:&nbsp;&nbsp;<br />
①log4j.rootCategory&nbsp;=&nbsp;[&nbsp;level&nbsp;]&nbsp;,&nbsp;appenderName,&nbsp;appenderName,&nbsp;&nbsp;<br />
其中,level&nbsp;是日志记录的优先级,分为OFF,FATAL,ERROR,WA&nbsp;R&nbsp;N,INFO,DEBUG,&nbsp;<br />
ALL或者您定义的级别.Log4j建议只使用四个级别,优先级从高到低分别是ERROR,&nbsp;<br />
WA&nbsp;R&nbsp;N,INFO,DEBUG.通过在这里定义的级别,您可以控制到应用程序中相应级别的日&nbsp;<br />
志信息的开关.比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息&nbsp;<br />
将不被打印出来.appenderName就是指定日志信息输出到哪个地方.您可以同时指定多个&nbsp;<br />
输出目的地.&nbsp;&nbsp;<br />
②配置日志信息输出目的地Appender,其语法为&nbsp;&nbsp;<br />
log4j.appender.appenderName&nbsp;=&nbsp;fully.qualified.name.of.appender.class&nbsp;&nbsp;<br />
log4j.appender.appenderName.option1&nbsp;=&nbsp;value1&nbsp;&nbsp;<br />
<br />
log4j.appender.appenderName.option&nbsp;=&nbsp;valueN&nbsp;&nbsp;<br />
其中,Log4j提供的appender有以下几种:&nbsp;&nbsp;<br />
org.apache.log4j.ConsoleAppender(控制台),&nbsp;&nbsp;<br />
org.apache.log4j.FileAppender(文件),&nbsp;&nbsp;<br />
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),&nbsp;<br />
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),&nbsp;&nbsp;<br />
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)&nbsp;&nbsp;<br />
③配置日志信息的格式(布局),其语法为:&nbsp;&nbsp;<br />
log4j.appender.appenderName.layout&nbsp;=&nbsp;fully.qualified.name.of.layout.class&nbsp;&nbsp;<br />
log4j.appender.appenderName.layout.option1&nbsp;=&nbsp;value1&nbsp;&nbsp;<br />
<br />
log4j.appender.appenderName.layout.option&nbsp;=&nbsp;valueN&nbsp;&nbsp;<br />
其中,Log4j提供的layout有以下几种:&nbsp;&nbsp;<br />
org.apache.log4j.HTMLLayout(以HTML表格形式布局),&nbsp;&nbsp;<br />
org.apache.log4j.PatternLayout(可以灵活地指定布局模式),&nbsp;&nbsp;<br />
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),&nbsp;&nbsp;<br />
org.apache.log4j.TTCCLayout(包含日志产生的时间,线程,类别等等信息)&nbsp;&nbsp;<br />
④Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,打印参数如下:&nbsp;&nbsp;<br />
%m&nbsp;输出代码中指定的消息&nbsp;&nbsp;<br />
%p&nbsp;输出优先级,即DEBUG,INFO,WA&nbsp;R&nbsp;N,ERROR,FATAL&nbsp;&nbsp;<br />
%r&nbsp;输出自应用启动到输出该log信息耗费的毫秒数&nbsp;&nbsp;<br />
%c&nbsp;输出所属的类目,通常就是所在类的全名&nbsp;&nbsp;<br />
%t&nbsp;输出产生该日志事件的线程名&nbsp;&nbsp;<br />
%n&nbsp;输出一个回车换行符,Windows平台为"\r\n",Unix平台为"\n"&nbsp;&nbsp;<br />
%d&nbsp;输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,&nbsp;&nbsp;<br />
比如:%d{yyy&nbsp;MMM&nbsp;dd&nbsp;HH:mm:ss,SSS},输出类似:2002年10月18日&nbsp;22:10:28,921&nbsp;&nbsp;<br />
%l&nbsp;输出日志事件的发生位置,包括类目名,发生的线程,以及在代码中的行数.&nbsp;&nbsp;<br />
对上面log4j.properties配置文件的一个应用;&nbsp;&nbsp;<br />
&nbsp;<br />
<br />
&nbsp;package&nbsp;log4j;&nbsp;&nbsp;<br />
import&nbsp;org.apache.log4j.*;&nbsp;&nbsp;<br />
//&nbsp;How&nbsp;to&nbsp;use&nbsp;log4j&nbsp;&nbsp;<br />
public&nbsp;class&nbsp;TestLogging&nbsp;{&nbsp;&nbsp;<br />
//&nbsp;Initialize&nbsp;a&nbsp;logging&nbsp;category.&nbsp;Here,&nbsp;we&nbsp;get&nbsp;THE&nbsp;ROOT&nbsp;CATEGORY&nbsp;&nbsp;<br />
//static&nbsp;Category&nbsp;cat&nbsp;=&nbsp;Category.getRoot();&nbsp;&nbsp;<br />
//&nbsp;Or,&nbsp;get&nbsp;a&nbsp;custom&nbsp;category&nbsp;&nbsp;<br />
static&nbsp;Category&nbsp;cat&nbsp;=&nbsp;Category.getInstance(TestLogging.class.getName());&nbsp;&nbsp;<br />
//&nbsp;From&nbsp;here&nbsp;on,&nbsp;log&nbsp;away!&nbsp;Methods&nbsp;are:&nbsp;cat.debug(your_message_string),&nbsp;&nbsp;<br />
//&nbsp;cat.info(...),&nbsp;cat.warn(...),&nbsp;cat.error(...),&nbsp;cat.fatal(...)&nbsp;&nbsp;<br />
public&nbsp;static&nbsp;void&nbsp;main(String&nbsp;args[])&nbsp;{&nbsp;&nbsp;<br />
//&nbsp;Try&nbsp;a&nbsp;few&nbsp;logging&nbsp;methods&nbsp;&nbsp;<br />
PropertyConfigurator.configure&nbsp;(&nbsp;"log4j.properties"&nbsp;)&nbsp;;&nbsp;&nbsp;<br />
cat.debug("Start&nbsp;of&nbsp;main()");&nbsp;&nbsp;<br />
cat.info("Just&nbsp;testing&nbsp;a&nbsp;log&nbsp;message&nbsp;with&nbsp;priority&nbsp;set&nbsp;to&nbsp;INFO");&nbsp;&nbsp;<br />
cat.warn("Just&nbsp;testing&nbsp;a&nbsp;log&nbsp;message&nbsp;with&nbsp;priority&nbsp;set&nbsp;to&nbsp;WARN");&nbsp;&nbsp;<br />
cat.error("Just&nbsp;testing&nbsp;a&nbsp;log&nbsp;message&nbsp;with&nbsp;priority&nbsp;set&nbsp;to&nbsp;ERROR");&nbsp;&nbsp;<br />
cat.fatal("Just&nbsp;testing&nbsp;a&nbsp;log&nbsp;message&nbsp;with&nbsp;priority&nbsp;set&nbsp;to&nbsp;FATAL");&nbsp;&nbsp;<br />
//&nbsp;Alternate&nbsp;but&nbsp;INCONVENIENT&nbsp;form&nbsp;&nbsp;<br />
cat.log(Priority.DEBUG,&nbsp;"Calling&nbsp;init()");&nbsp;&nbsp;<br />
new&nbsp;TestLogging().init();&nbsp;&nbsp;<br />
}&nbsp;&nbsp;<br />
public&nbsp;void&nbsp;init()&nbsp;{&nbsp;&nbsp;<br />
java.util.Properties&nbsp;prop&nbsp;=&nbsp;System.getProperties();&nbsp;&nbsp;<br />
java.util.Enumeration&nbsp;enum&nbsp;=&nbsp;prop.propertyNames();&nbsp;&nbsp;<br />
cat.info("***System&nbsp;Environment&nbsp;As&nbsp;Seen&nbsp;By&nbsp;Java***");&nbsp;&nbsp;<br />
cat.debug("***Format:&nbsp;PROPERTY&nbsp;=&nbsp;VALUE***");&nbsp;&nbsp;<br />
while&nbsp;(enum.hasMoreElements())&nbsp;{&nbsp;&nbsp;<br />
String&nbsp;key&nbsp;=&nbsp;(String)&nbsp;enum.nextElement();&nbsp;&nbsp;<br />
cat.info(key&nbsp;+&nbsp;"&nbsp;=&nbsp;"&nbsp;+&nbsp;System.getProperty(key));&nbsp;&nbsp;<br />
}&nbsp;&nbsp;<br />
}&nbsp;&nbsp;<br />
}&nbsp;&nbsp;<br />
xml格式的log4j配置文件概述&nbsp;&nbsp;<br />
xml格式的log4j配置文件需要使用org.apache.log4j.html.DOMConfigurator.configure()方法来&nbsp;<br />
读入.对xml文件的语法定义可以在log4j的发布包中找到:org/apache/log4j/xml/log4j.dtd.&nbsp;&nbsp;<br />
Xml的一个配置文件:sample1.xml&nbsp;&nbsp;<br />
说明:&nbsp;&nbsp;<br />
①xml配置文件的头部包括两个部分:xml声明和dtd声明.头部的格式如下:&nbsp;&nbsp;<br />
<br />
<br />
②log4j:configuration&nbsp;(root&nbsp;element)&nbsp;&nbsp;<br />
xmlns:log4j&nbsp;[#FIXED&nbsp;attribute]:&nbsp;定义log4j的名字空间,取定值"http://jakarta.apache.org/log4j/"&nbsp;&nbsp;<br />
appender&nbsp;[*&nbsp;child]&nbsp;:&nbsp;一个appender子元素定义一个日志输出目的地&nbsp;&nbsp;<br />
logger&nbsp;[*&nbsp;child]&nbsp;:&nbsp;一个logger子元素定义一个日志写出器&nbsp;&nbsp;<br />
root&nbsp;[&nbsp;child]&nbsp;:&nbsp;root子元素定义了root&nbsp;logger&nbsp;&nbsp;<br />
源代码:&nbsp;&nbsp;<br />
package&nbsp;exampleslog4j.xml;&nbsp;&nbsp;<br />
import&nbsp;org.apache.log4j.xml.DOMConfigurator;&nbsp;&nbsp;<br />
import&nbsp;org.apache.log4j.Category;&nbsp;&nbsp;<br />
import&nbsp;java.net.*;&nbsp;&nbsp;<br />
public&nbsp;class&nbsp;XMLSample&nbsp;{&nbsp;&nbsp;<br />
static&nbsp;Category&nbsp;cat&nbsp;=&nbsp;Category.getInstance(XMLSample.class.getName());&nbsp;&nbsp;<br />
public&nbsp;&nbsp;<br />
static&nbsp;&nbsp;<br />
void&nbsp;main(String&nbsp;argv[])&nbsp;{&nbsp;&nbsp;<br />
if(argv.length&nbsp;==&nbsp;1)&nbsp;&nbsp;<br />
init(argv[0]);&nbsp;&nbsp;<br />
else&nbsp;&nbsp;<br />
Usage("Wrong&nbsp;number&nbsp;of&nbsp;arguments.");&nbsp;&nbsp;<br />
sample();&nbsp;&nbsp;<br />
}&nbsp;&nbsp;<br />
static&nbsp;&nbsp;<br />
void&nbsp;Usage(String&nbsp;msg)&nbsp;{&nbsp;&nbsp;<br />
System.err.println(msg);&nbsp;&nbsp;<br />
System.err.println(&nbsp;"Usage:&nbsp;java&nbsp;"&nbsp;+&nbsp;XMLSample.class.getName()&nbsp;+&nbsp;&nbsp;<br />
"configFile");&nbsp;&nbsp;<br />
System.exit(1);&nbsp;&nbsp;<br />
}&nbsp;&nbsp;<br />
static&nbsp;&nbsp;<br />
void&nbsp;init(String&nbsp;configFile)&nbsp;{&nbsp;&nbsp;<br />
DOMConfigurator.configure(configFile);&nbsp;&nbsp;<br />
}&nbsp;&nbsp;<br />
static&nbsp;&nbsp;<br />
void&nbsp;sample()&nbsp;{&nbsp;&nbsp;<br />
int&nbsp;i&nbsp;=&nbsp;-1;&nbsp;&nbsp;<br />
Category&nbsp;root&nbsp;=&nbsp;Category.getRoot();&nbsp;&nbsp;<br />
cat.debug("Message&nbsp;"&nbsp;+&nbsp;++i);&nbsp;&nbsp;<br />
cat.warn&nbsp;("Message&nbsp;"&nbsp;+&nbsp;++i);&nbsp;&nbsp;<br />
cat.error("Message&nbsp;"&nbsp;+&nbsp;++i);&nbsp;&nbsp;<br />
Exception&nbsp;e&nbsp;=&nbsp;new&nbsp;Exception("Just&nbsp;testing");&nbsp;&nbsp;<br />
cat.debug("Message&nbsp;"&nbsp;+&nbsp;++i,&nbsp;e);&nbsp;&nbsp;<br />
}&nbsp;&nbsp;<br />
}&nbsp;&nbsp;<br />
执行后的效果:&nbsp;&nbsp;<br />
2004-05-24&nbsp;22:07:28,352&nbsp;DEBUG&nbsp;[main]&nbsp;xml.XMLSample&nbsp;(XMLSample.java:55)&nbsp;-&nbsp;Message&nbsp;0&nbsp;&nbsp;<br />
2004-05-24&nbsp;22:07:28,352&nbsp;WARN&nbsp;[main]&nbsp;xml.XMLSample&nbsp;(XMLSample.java:56)&nbsp;-&nbsp;Message&nbsp;1&nbsp;&nbsp;<br />
</font><font face="Verdana"><font face="Verdana"><br />
</font></font></p>
<img src ="http://www.blogjava.net/wyxdeniro/aggbug/163304.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wyxdeniro/" target="_blank">王永庆</a> 2007-11-26 17:55 <a href="http://www.blogjava.net/wyxdeniro/archive/2007/11/26/163304.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Log4j学习笔记(1) </title><link>http://www.blogjava.net/wyxdeniro/archive/2007/11/26/163301.html</link><dc:creator>王永庆</dc:creator><author>王永庆</author><pubDate>Mon, 26 Nov 2007 09:53:00 GMT</pubDate><guid>http://www.blogjava.net/wyxdeniro/archive/2007/11/26/163301.html</guid><wfw:comment>http://www.blogjava.net/wyxdeniro/comments/163301.html</wfw:comment><comments>http://www.blogjava.net/wyxdeniro/archive/2007/11/26/163301.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wyxdeniro/comments/commentRss/163301.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wyxdeniro/services/trackbacks/163301.html</trackback:ping><description><![CDATA[<p style="color: #993300">1、 Log4j是什么？<br />
&nbsp; Log4j可以帮助调试（有时候debug是发挥不了作 用的）和分析，要下载和了解更详细的内容，还是访问其官方网站吧： <a href="http://jakarta.apache.org/log4j">http://jakarta.apache.org/log4j </a>。<br />
<br />
2、Log4j的概念<br />
&nbsp;&nbsp;<!--startfragment --> Log4j中有三个主要的组件，它们分别是 Logger、Appender和Layout，L<!--startfragment -->og4j 允许开发人员定义多个Logger，每个Logger拥有自己的名字，Logger之间通过名字来表明隶属关系。有一个Logger称为Root，它永远存在，且不能通过名字检索或引用，可以通过Logger.getRootLogger()方法获得，其它Logger通过 Logger.getLogger(String name)方法。<br />
&nbsp;&nbsp; Appender则是用来指明将所有的log信息存放到什么地方，Log4j中支持多种appender，如<!--startfragment --> console、files、GUI components、NT Event Loggers等，一个Logger可以拥有多个Appender，也就是你既可以将Log信息输出到屏幕，同时存储到一个文件中。<br />
&nbsp;&nbsp; Layout的作用是控制Log信息的输出方式，也就是格式化输出的信息。<br />
&nbsp;&nbsp; <span style="color: #339966">Log4j中将要输出的Log信息定义了5种级别，依次为DEBUG、INFO、WARN、ERROR和FATAL</span>，当输出时，只有级别高过配置中规定的级别的信息才能真正的输出，这样就很方便的来配置不同情况下要输出的内容，而不需要更改代码，这点实在是方便啊。<br />
<br />
3、Log4j的配置文件<br />
&nbsp; 虽然可以不用配置文件，而在程序中实现配置，但这种方法在如今的系统开发中显然是不可取的，能采用配置文件的地方一定一定要用配置文件。Log4j支持两种格式的配置文件：XML格式和Java的property格式，本人更喜欢后者，首先看一个简单的例子吧，如下：<br />
<br />
&nbsp; <span style="color: #800080">log4j.rootLogger=debug, stdout, R<br />
&nbsp; log4j.appender.stdout=org.apache.log4j.ConsoleAppender<br />
&nbsp; log4j.appender.stdout.layout=org.apache.log4j.PatternLayout<br />
<br />
&nbsp; # Pattern to output the caller's file name and line number.<br />
&nbsp; log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n<br />
<br />
&nbsp; log4j.appender.R=org.apache.log4j.RollingFileAppender<br />
&nbsp; log4j.appender.R.File=example.log<br />
&nbsp; log4j.appender.R.MaxFileSize= 100KB<br />
<br />
&nbsp; # Keep one backup file<br />
&nbsp; log4j.appender.R.MaxBackupIndex=1<br />
<br />
&nbsp; log4j.appender.R.layout=org.apache.log4j.PatternLayout<br />
&nbsp; log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<br />
&nbsp; <span style="color: #339966">首先，是设置root，格式为<!--startfragment --> log4j.rootLogger=[level],appenderName,&nbsp;...，其中level就是设置需要输出信息的级别，后面是appender的输出的目的地，<!--startfragment -->appenderName就是指定日志信息输出到哪个地方。您可以同时指定多个输出目的地。</span> 配置日志信息输出目的地Appender，其语法为<br />
&nbsp; log4j.appender.appenderName = fully.qualified.name.of.appender.class<br />
&nbsp; log4j.appender.appenderName.option1 = value1<br />
&nbsp; ...<br />
&nbsp; log4j.appender.appenderName.option = valueN <br />
<span style="color: #339966">Log4j提供的appender有以下几种：<br />
&nbsp; org.apache.log4j.ConsoleAppender（控制台）<br />
&nbsp; org.apache.log4j.FileAppender（文件）<br />
&nbsp; org.apache.log4j.DailyRollingFileAppender（每天产生一个日志文件）<br />
&nbsp; org.apache.log4j.RollingFileAppender（文件大小到达指定尺寸的时候产生新文件）<br />
&nbsp; org.apache.log4j.WriterAppender（将日志信息以流格式发送到任意指定的地方）<br />
</span><br />
配置日志信息的格式（布局），其语法为：<br />
&nbsp; log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class<br />
&nbsp; log4j.appender.appenderName.layout.option1 = value1<br />
&nbsp; ....<br />
&nbsp; log4j.appender.appenderName.layout.option = valueN <br />
<span style="color: #339966">Log4j提供的layout有以下几种：<br />
&nbsp; org.apache.log4j.HTMLLayout（以HTML表格形式布局），<br />
&nbsp; org.apache.log4j.PatternLayout（可以灵活地指定布局模式），<br />
&nbsp; org.apache.log4j.SimpleLayout（包含日志信息的级别和信息字符串），<br />
&nbsp; org.apache.log4j.TTCCLayout（包含日志产生的时间、线程、类别等等信息）</span> <br />
<br />
Log4J采用类似C语言中的printf函数的打印格式格式化日志信息，打印参数如下： %m 输出代码中指定的消息<O:P style="color: #993300"></O:P> </p>
<p style="color: #993300">　　 <span style="color: #339966">%p 输出优先级，即DEBUG，INFO，WARN，ERROR，FATAL <br />
　　%r 输出自应用启动到输出该log信息耗费的毫秒数 <br />
　　%c 输出所属的类目，通常就是所在类的全名 <br />
　　%t 输出产生该日志事件的线程名 <br />
　　%n 输出一个回车换行符，Windows平台为&#8220;\r\n&#8221;，Unix平台为&#8220;\n&#8221; <br />
　　%d 输出日志时间点的日期或时间，默认格式为ISO8601，也可以在其后指定格式，比如：%d{yyy MMM dd HH:mm:ss,SSS}，输出类似： <ST1:CHSDATE isrocdate="False" islunardate="False" day="18" month="10" year="2002">2002年10月18日 </ST1:CHSDATE>22：10：28，921 <br />
　　%l 输出日志事件的发生位置，包括类目名、发生的线程，以及在代码中的行数。举例：Testlog4.main(TestLog4.java:10) </span></p>
<p style="color: #993300"><br />
<br />
4、Log4j在程序中的使用 <br />
&nbsp; 要在自己的程序中使用Log4j，首先需要将commons-logging.jar和logging-log4j-1.2.9.jar导入到构建路径中。然后再将log4j.properties放到src根目录下。这样就可以在程序中使用log4j了。在类中使用log4j， 首先声明一个静态变量 Logger logger=Logger.getLog("classname")；现在就可以使用了，用法如下：logger.debug("debug message")或者logger.info("info message")，看下面一个小例子： <br />
<br />
&nbsp; <span style="color: #800080">import com.foo.Bar;<br />
&nbsp; import org.apache.log4j.Logger;<br />
&nbsp;&nbsp;import org.apache.log4j.PropertyConfigurator;<br />
&nbsp;&nbsp;public class MyApp {<br />
&nbsp; &nbsp; static Logger logger = Logger.getLogger(MyApp.class.getName());<br />
&nbsp;&nbsp; &nbsp;public static void main(String[] args) {<br />
&nbsp;&nbsp;&nbsp; &nbsp; // BasicConfigurator replaced with PropertyConfigurator.<br />
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;PropertyConfigurator.configure(args[0]);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; logger.info("Entering application.");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Bar bar = new Bar();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bar.doIt();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; logger.info("Exiting application.");<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;}</span></p>
 <img src ="http://www.blogjava.net/wyxdeniro/aggbug/163301.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wyxdeniro/" target="_blank">王永庆</a> 2007-11-26 17:53 <a href="http://www.blogjava.net/wyxdeniro/archive/2007/11/26/163301.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>