﻿<?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-vjame-随笔分类-开源</title><link>http://www.blogjava.net/vjame/category/34578.html</link><description>优化代码是无止境的</description><language>zh-cn</language><lastBuildDate>Wed, 26 Nov 2008 04:04:34 GMT</lastBuildDate><pubDate>Wed, 26 Nov 2008 04:04:34 GMT</pubDate><ttl>60</ttl><item><title>Junit3.8 beginning</title><link>http://www.blogjava.net/vjame/archive/2008/10/28/237194.html</link><dc:creator>lanjh</dc:creator><author>lanjh</author><pubDate>Tue, 28 Oct 2008 11:38:00 GMT</pubDate><guid>http://www.blogjava.net/vjame/archive/2008/10/28/237194.html</guid><wfw:comment>http://www.blogjava.net/vjame/comments/237194.html</wfw:comment><comments>http://www.blogjava.net/vjame/archive/2008/10/28/237194.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/vjame/comments/commentRss/237194.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vjame/services/trackbacks/237194.html</trackback:ping><description><![CDATA[<p>1.新建java工程testJunit3 , 新建包和类Calculator和CalculatorTest<br />
<br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/vjame/QQ88.jpg" border="0" /><br />
<br />
2.编写代码<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"><span style="color: #008080">&nbsp;1</span>&nbsp;<span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.test.junit3;<br />
</span><span style="color: #008080">&nbsp;2</span>&nbsp;<span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;3</span>&nbsp;<span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;Calculator&nbsp;{<br />
</span><span style="color: #008080">&nbsp;4</span>&nbsp;<span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;5</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;6</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;add(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;a,</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;b){<br />
</span><span style="color: #008080">&nbsp;7</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;a&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;b&nbsp;;<br />
</span><span style="color: #008080">&nbsp;8</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080">&nbsp;9</span>&nbsp;<span style="color: #000000"><br />
</span><span style="color: #008080">10</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;divide(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;a,&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;b)&nbsp;</span><span style="color: #0000ff">throws</span><span style="color: #000000">&nbsp;Exception<br />
</span><span style="color: #008080">11</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;{<br />
</span><span style="color: #008080">12</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(</span><span style="color: #000000">0</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;b)<br />
</span><span style="color: #008080">13</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
</span><span style="color: #008080">14</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">throw</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Exception(</span><span style="color: #000000">"</span><span style="color: #000000">除数不能为零！</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
</span><span style="color: #008080">15</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080">16</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">17</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;a&nbsp;</span><span style="color: #000000">/</span><span style="color: #000000">&nbsp;b;<br />
</span><span style="color: #008080">18</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080">19</span>&nbsp;<span style="color: #000000"><br />
</span><span style="color: #008080">20</span>&nbsp;<span style="color: #000000">}<br />
</span><span style="color: #008080">21</span>&nbsp;</div>
<p><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"><span style="color: #008080">&nbsp;1</span>&nbsp;<span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.test.junit3;<br />
</span><span style="color: #008080">&nbsp;2</span>&nbsp;<span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;3</span>&nbsp;<span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;junit.framework.Assert;<br />
</span><span style="color: #008080">&nbsp;4</span>&nbsp;<span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;junit.framework.TestCase;<br />
</span><span style="color: #008080">&nbsp;5</span>&nbsp;<span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;6</span>&nbsp;<span style="color: #008000">/**</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;7</span>&nbsp;<span style="color: #008000">&nbsp;*&nbsp;在junit3.8中测试类必需继承TestCase父类<br />
</span><span style="color: #008080">&nbsp;8</span>&nbsp;<span style="color: #008000">&nbsp;*<br />
</span><span style="color: #008080">&nbsp;9</span>&nbsp;<span style="color: #008000">&nbsp;</span><span style="color: #008000">*/</span><span style="color: #000000"><br />
</span><span style="color: #008080">10</span>&nbsp;<span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;CalculatorTest&nbsp;&nbsp;</span><span style="color: #0000ff">extends</span><span style="color: #000000">&nbsp;TestCase{<br />
</span><span style="color: #008080">11</span>&nbsp;<span style="color: #000000"><br />
</span><span style="color: #008080">12</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">/**</span><span style="color: #008000"><br />
</span><span style="color: #008080">13</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;在junit3.8中,测试方法满足如下原则<br />
</span><span style="color: #008080">14</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;1)&nbsp;public<br />
</span><span style="color: #008080">15</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;2)&nbsp;void<br />
</span><span style="color: #008080">16</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;3)&nbsp;无方法参数<br />
</span><span style="color: #008080">17</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;4)&nbsp;方法名称必须以test开头<br />
</span><span style="color: #008080">18</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">*/</span><span style="color: #000000"><br />
</span><span style="color: #008080">19</span>&nbsp;<span style="color: #000000">&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;testAdd(){<br />
</span><span style="color: #008080">20</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">21</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Calculator&nbsp;cal&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Calculator();<br />
</span><span style="color: #008080">22</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">23</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;result&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;&nbsp;cal.add(</span><span style="color: #000000">1</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">2</span><span style="color: #000000">);<br />
</span><span style="color: #008080">24</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">25</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Assert.assertEquals(</span><span style="color: #000000">3</span><span style="color: #000000">,&nbsp;result);;<br />
</span><span style="color: #008080">26</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080">27</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">28</span>&nbsp;<span style="color: #000000">&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;testDivide(){<br />
</span><span style="color: #008080">29</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Throwable&nbsp;tx&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">;<br />
</span><span style="color: #008080">30</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">31</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000"><br />
</span><span style="color: #008080">32</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
</span><span style="color: #008080">33</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Calculator&nbsp;cal&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Calculator();<br />
</span><span style="color: #008080">34</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">35</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cal.divide(</span><span style="color: #000000">4</span><span style="color: #000000">,</span><span style="color: #000000">0</span><span style="color: #000000">);<br />
</span><span style="color: #008080">36</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">37</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Assert.fail();&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">断言失败</span><span style="color: #008000"><br />
</span><span style="color: #008080">38</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080">39</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">(Exception&nbsp;ex)<br />
</span><span style="color: #008080">40</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
</span><span style="color: #008080">41</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tx&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;ex;<br />
</span><span style="color: #008080">42</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080">43</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">44</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Assert.assertNotNull(tx);&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">断言不为空</span><span style="color: #008000"><br />
</span><span style="color: #008080">45</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">46</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Assert.assertEquals(Exception.</span><span style="color: #0000ff">class</span><span style="color: #000000">,tx.getClass());</span><span style="color: #008000">//</span><span style="color: #008000">断言类型相同</span><span style="color: #008000"><br />
</span><span style="color: #008080">47</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">48</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Assert.assertEquals(</span><span style="color: #000000">"</span><span style="color: #000000">除数不能为零！</span><span style="color: #000000">"</span><span style="color: #000000">,tx.getMessage());</span><span style="color: #008000">//</span><span style="color: #008000">断言消息相同</span><span style="color: #008000"><br />
</span><span style="color: #008080">49</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080">50</span>&nbsp;<span style="color: #000000">}<br />
</span><span style="color: #008080">51</span>&nbsp;</div>
<p><br />
&nbsp;3. 运行结果<br />
<br />
<img height="201" alt="" src="http://www.blogjava.net/images/blogjava_net/vjame/文章图片/Noeename.jpg" width="289" border="0" /></p>
 <img src ="http://www.blogjava.net/vjame/aggbug/237194.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vjame/" target="_blank">lanjh</a> 2008-10-28 19:38 <a href="http://www.blogjava.net/vjame/archive/2008/10/28/237194.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>log4j的使用</title><link>http://www.blogjava.net/vjame/archive/2008/09/11/228410.html</link><dc:creator>lanjh</dc:creator><author>lanjh</author><pubDate>Thu, 11 Sep 2008 09:31:00 GMT</pubDate><guid>http://www.blogjava.net/vjame/archive/2008/09/11/228410.html</guid><wfw:comment>http://www.blogjava.net/vjame/comments/228410.html</wfw:comment><comments>http://www.blogjava.net/vjame/archive/2008/09/11/228410.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/vjame/comments/commentRss/228410.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vjame/services/trackbacks/228410.html</trackback:ping><description><![CDATA[<p class="f14" style="line-height: 190%"><font size="3">Log4j是一个开源的日志记录组件，其产品已经相当的成熟，且使用非常的广泛。在工程中以易用，方便等代替了&nbsp;System.out&nbsp;等打印语句。<br />
Log4j的目标是：它允许开发人员以任意的精细程度控制哪些日志说明被输出。通过使用外部的配置文件，可以在运行时配置它。<br />
通过其要实现的目标，我们已理解出log4j将是一个十分好用的组件。<br />
Log4j的具体在&nbsp;</font><a href="http://logging.apache.org/log4j/"><font size="3">http://logging.apache.org/log4j/</font></a><font size="3">找到&nbsp;它。另外，log4j已经被转换成&nbsp;C,&nbsp;C++,&nbsp;C#,&nbsp;Perl,&nbsp;Python,&nbsp;Ruby,&nbsp;和&nbsp;Eiffel&nbsp;语言。<br />
下面，我就从log4j的配置文件来具体讲述，log4j的功能，通过配置文件来学习新技术已是一个很好的学习方法。<br />
Log4j有两个重要的概念：一是日志级别,其日志级别关系为<br />
DEBUG&gt;INFO&gt;WARN&gt;ERROR&gt;FATAL&nbsp;原则，高级别将显示低级别的日志<br />
二是appender(也是输出目标),在这上的还有输出格式<br />
其支持的输出目标为&nbsp;文件，控制台，数据库,且支持一次指定多个输出目标<br />
Log4j的配置文件除了支持：*.properties&nbsp;文件名，还支持运用十分广泛的xml文件。<br />
下面的讲述中，我只通过*.properties文件来说明。<br />
Log4j的属性文件的讲述<br />
#&nbsp;定义根日志,日志级别为DEBUG&nbsp;输出目标为控制台，文件<br />
log4j.rootLogger=INFO,A1,R<br />
#&nbsp;包com.liaowf日志,日志级别为DEBUG&nbsp;输出目标为控制台，文件(注意，包com.liaowf下的所有类将自动拥有此日志属性)<br />
log4j.logger.com.liaowf=DEBUG,A1,R<br />
#&nbsp;名称为IAMLogInfo日志，日志级别为INFO,输出目标为数据库(注意，所有使用IAMLogInfo作为名称的日志将拥用些日志属性)<br />
log4j.logger.IAMLogInfo=INFO,DATABASE<br />
<br />
#&nbsp;类com.liaowf.console.connector.Synchro日志,日志级别为DEBUG,输出目标为控制台<br />
log4j.logger.com.liaowf.console.connector.Synchro=DEBUG,A1,userSynR<br />
#&nbsp;类com.liaowf.console.authorization.dao.UserDao日志,级别为DEBUG，输出目标为文件<br />
log4j.logger.com.liaowf.console.authorization.dao.UserDao=DEBUG,A1,userTelnet<br />
<br />
#&nbsp;配置TRUE<br />
log4j.addivity.org.apache=true<br />
<br />
#&nbsp;定义控制台Appender<br />
log4j.appender.A1=org.apache.log4j.ConsoleAppender<br />
log4j.appender.A1.layout=org.apache.log4j.PatternLayout<br />
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd&nbsp;HH:mm:ss,SSS}&nbsp;[%c]-[%p]&nbsp;%m%n<br />
<br />
#&nbsp;输出到文件Appender<br />
log4j.appender.R=org.apache.log4j.RollingFileAppender<br />
log4j.appender.R.File=c:/iamSystem.log<br />
log4j.appender.R.MaxFileSize=500KB<br />
log4j.appender.R.MaxBackupIndex=1<br />
#log4j.appender.R.layout=org.apache.log4j.HTMLLayout<br />
log4j.appender.R.layout=org.apache.log4j.PatternLayout<br />
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd&nbsp;HH:mm:ss,SSS}&nbsp;[%t]&nbsp;[%c]&nbsp;[%p]&nbsp;-&nbsp;%m%n<br />
<br />
<br />
#&nbsp;JDBC&nbsp;输出到数据库的Appender<br />
#log4j.appender.DATABASE.Threshold=INFO<br />
#log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender<br />
#log4j.appender.DATABASE.BufferSize=10<br />
#log4j.appender.DATABASE.URL=jdbc:microsoft:sqlserver://10.170.88.4:1433;DatabaseName=iamconfig<br />
#log4j.appender.DATABASE.driver=com.microsoft.jdbc.sqlserver.SQLServerDriver<br />
#log4j.appender.DATABASE.user=iamconfig<br />
#log4j.appender.DATABASE.password=iamconfig<br />
#log4j.appender.DATABASE.sql=INSERT&nbsp;INTO&nbsp;wap_mail_jws_log&nbsp;&nbsp;VALUES&nbsp;('%d{yyyy-MM-dd&nbsp;HH:mm:ss}',&nbsp;'%t',&nbsp;'%p',&nbsp;'%l',&nbsp;'%m',&nbsp;'')<br />
#log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout<br />
<br />
#&nbsp;输出到文件的appender<br />
log4j.appender.userSynR=org.apache.log4j.RollingFileAppender<br />
log4j.appender.userSynR.File=c:/iamSystem_userSynR.log<br />
log4j.appender.userSynR.MaxFileSize=500KB<br />
log4j.appender.userSynR.MaxBackupIndex=1<br />
#log4j.appender.userSynR.layout=org.apache.log4j.HTMLLayout<br />
log4j.appender.userSynR.layout=org.apache.log4j.PatternLayout<br />
log4j.appender.userSynR.layout.ConversionPattern=%d{yyyy-MM-dd&nbsp;HH:mm:ss,SSS}&nbsp;[%t]&nbsp;[%c]&nbsp;[%p]&nbsp;-&nbsp;%m%n<br />
<br />
#&nbsp;输出到文件Appender<br />
log4j.appender.userTelnet=org.apache.log4j.RollingFileAppender<br />
log4j.appender.userTelnet.File=c:/iamTelnet.log<br />
log4j.appender.userTelnet.MaxFileSize=500KB<br />
log4j.appender.userTelnet.MaxBackupIndex=1<br />
#log4j.appender.userTelnet.layout=org.apache.log4j.HTMLLayout<br />
log4j.appender.userTelnet.layout=org.apache.log4j.PatternLayout<br />
log4j.appender.userTelnet.layout.ConversionPattern=%d{yyyy-MM-dd&nbsp;HH:mm:ss,SSS}&nbsp;[%t]&nbsp;[%c]&nbsp;[%p]&nbsp;-&nbsp;%m%n<br />
<br />
log4j倒底能提供我们什么功能，我们来总结一下：<br />
1&nbsp;根据我们设置的日志级别，控制日志的输出<br />
2&nbsp;日志的输出支持自增式文件，控制台，数据库，还可以扩展。<br />
3&nbsp;日志的属性,当按"."命名有继承性，我们常使用类名来命名日志<br />
2&nbsp;通过上面的介始，我们给一个工程没有log4j的工程增加log4j功能的。根据下面几个步骤，你将很轻松的完成。<br />
1&nbsp;下载log4j的jar包<br />
2&nbsp;编写一个log4j.properties&nbsp;属性文件，放到你的源文件的根下，再根据具体修改<br />
3&nbsp;在每一个需要记录日的类中，增加一个类成员<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;初始化日志处理类<br />
&nbsp;&nbsp;Logger&nbsp;log&nbsp;=&nbsp;Logger.getLogger(类名.class.getName());<br />
<br />
4&nbsp;在你需要打日志信息的代码中，如下写出<br />
打info信息<br />
Log4j.infor("");<br />
打debug信息<br />
If(log4j.isDebuged())&nbsp;{<br />
&nbsp;&nbsp;Log4j.debug("");<br />
}<br />
打error信息<br />
Log4j.error("");<br />
</font></p>
 <img src ="http://www.blogjava.net/vjame/aggbug/228410.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vjame/" target="_blank">lanjh</a> 2008-09-11 17:31 <a href="http://www.blogjava.net/vjame/archive/2008/09/11/228410.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>