﻿<?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-suzixu</title><link>http://www.blogjava.net/suzixu/</link><description /><language>zh-cn</language><lastBuildDate>Sun, 12 Apr 2026 06:05:11 GMT</lastBuildDate><pubDate>Sun, 12 Apr 2026 06:05:11 GMT</pubDate><ttl>60</ttl><item><title>CentOS安装SVN服务器</title><link>http://www.blogjava.net/suzixu/archive/2014/11/28/420813.html</link><dc:creator>见习和尚</dc:creator><author>见习和尚</author><pubDate>Fri, 28 Nov 2014 03:43:00 GMT</pubDate><guid>http://www.blogjava.net/suzixu/archive/2014/11/28/420813.html</guid><wfw:comment>http://www.blogjava.net/suzixu/comments/420813.html</wfw:comment><comments>http://www.blogjava.net/suzixu/archive/2014/11/28/420813.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/suzixu/comments/commentRss/420813.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/suzixu/services/trackbacks/420813.html</trackback:ping><description><![CDATA[<p><strong>1</strong><strong><span style="font-family:宋体;Times New Roman&quot;;Times New Roman&quot;">、</span></strong><strong>yum</strong><strong><span style="font-family:宋体;Times New Roman&quot;;Times New Roman&quot;">下载安装</span></strong><strong>svn</strong><strong></strong></p>  <p>[root@localhost ~]# yum install subversion</p>  <p>&nbsp;</p>  <p><strong>2</strong><strong><span style="font-family:宋体;Times New Roman&quot;;Times New Roman&quot;">、查看安装的</span></strong><strong>svn</strong><strong><span style="font-family:宋体;Times New Roman&quot;;Times New Roman&quot;">服务器版本</span></strong><strong></strong></p>  <p>[root@localhost ~]# svnserve &#8211;version<br /><br /></p><p class="MsoNormal"><strong><span lang="EN-US">3</span></strong><strong><span style="mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;
mso-hansi-font-family:&quot;Times New Roman&quot;">、创建数据仓库文件夹</span></strong></p><p>[root@localhost ~]# mkdir /opt/svn/repos</p>  <p>[root@localhost ~]# svnadmin create&nbsp;/opt/svn/repos<br /><br /></p><p class="MsoNormal"><strong><span lang="EN-US">4</span></strong><strong><span style="mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;
mso-hansi-font-family:&quot;Times New Roman&quot;">、配置</span></strong><strong><span lang="EN-US">svn</span></strong><strong><span style="mso-bidi-font-size:
10.5pt;font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:
&quot;Times New Roman&quot;">账户</span></strong></p><p>[root@localhost ~]# cd&nbsp;/opt/svn/repos/conf/<strong></strong></p>  <p>[root@localhost ~]# vi passwd<br /><br /></p><p class="MsoNormal"><strong><span lang="EN-US"></span></strong></p><p><strong>5</strong><strong><span style="font-family:宋体;Times New Roman&quot;;Times New Roman&quot;">、配置</span></strong><strong>svn</strong><strong><span style="font-family:宋体;Times New Roman&quot;;Times New Roman&quot;">账户目录权限</span></strong></p>  <p>[root@localhost ~]# vi authz<br /><br /></p><p class="MsoNormal"><strong><span lang="EN-US">6</span></strong><strong><span style="mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;
mso-hansi-font-family:&quot;Times New Roman&quot;">、配置</span></strong><strong><span lang="EN-US">svn</span></strong><strong><span style="mso-bidi-font-size:
10.5pt;font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:
&quot;Times New Roman&quot;">配置文件及根目录</span></strong></p><p>[root@localhost ~]# vi svnserve.conf</p>  <p><span style="font-size: 10pt; font-family: Arial, sans-serif;">#anon-access&nbsp;=&nbsp;none&nbsp;#&nbsp;</span><span style="font-size: 10pt; font-family: 宋体;">使非授权用户无法访问</span><span style="font-size: 10pt; font-family: Arial, sans-serif;"><br /> #auth-access&nbsp;=&nbsp;write&nbsp;#&nbsp;</span><span style="font-size: 10pt; font-family: 宋体;">使授权用户有写权限</span><span style="font-size: 10pt; font-family: Arial, sans-serif;"><br /> password-db&nbsp;=&nbsp;password<br /> authz-db&nbsp;=&nbsp;authz&nbsp;&nbsp;&nbsp;#&nbsp;</span><span style="font-size: 10pt; font-family: 宋体;">访问控制文件</span><span style="font-size: 10pt; font-family: Arial, sans-serif;"><br /> realm&nbsp;=&nbsp;</span>/opt/svn/repos/<span style="font-size: 10pt; font-family: Arial, sans-serif;">&nbsp;#&nbsp;</span><span style="font-size: 10pt; font-family: 宋体;">认证命名空间，</span><span style="font-size: 10pt; font-family: Arial, sans-serif;">subversion</span><span style="font-size: 10pt; font-family: 宋体;">会在认证提示里显示，并且作为凭证缓存的关键字。</span><span style="font-size: 10pt; font-family: Arial, sans-serif;"><br /> </span><span style="font-size:10.0pt;font-family:宋体;color:red">采用默认配置</span><span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:red">. </span><span style="font-size:10.0pt;font-family:宋体;color:red">以上语句都必须顶格写</span><span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:red">,&nbsp;</span><span style="font-size:10.0pt;font-family:宋体;color:red">左侧不能留空格</span><span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:red">,&nbsp;</span><span style="font-size:10.0pt;font-family:宋体;color:red">否则会出错</span><span style="font-size: 10pt; font-family: Arial, sans-serif; color: red;">.<br /><br /></span><strong></strong></p><p class="MsoNormal"><strong><span lang="EN-US">7</span></strong><strong><span style="mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;
mso-hansi-font-family:&quot;Times New Roman&quot;">、启动</span></strong><strong><span lang="EN-US">svn</span></strong><strong><span style="mso-bidi-font-size:
10.5pt;font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:
&quot;Times New Roman&quot;">服务</span></strong><strong><span lang="EN-US"><o:p></o:p></span></strong></p><p>[root@localhost ~]# svnserve -d -r&nbsp;/opt/svn/repos<strong></strong></p>  <p><strong>&nbsp;</strong></p>  <p><strong>8</strong><strong><span style="font-family:宋体;Times New Roman&quot;;Times New Roman&quot;">、使用</span></strong><strong>svn</strong><strong><span style="font-family:宋体;Times New Roman&quot;;Times New Roman&quot;">客户端验证</span></strong><strong>svn</strong><strong><span style="font-family: 宋体;Times New Roman&quot;;Times New Roman&quot;">服务器是否正常</span></strong><strong></strong></p>  <p><span style="font-family:宋体;Times New Roman&quot;;Times New Roman&quot;">建议采用</span>TortoiseSVN<span style="font-family:宋体;Times New Roman&quot;;Times New Roman&quot;">，</span> <span style="font-family:宋体;Times New Roman&quot;;Times New Roman&quot;">连接地址为</span>: svn://ip <span style="font-family:宋体;Times New Roman&quot;;Times New Roman&quot;">（如果指定端口需要添加端口</span>&nbsp; :<span style="font-family:宋体;Times New Roman&quot;;Times New Roman&quot;">端口号）</span></p><p><br /><br /><br /><br /><strong></strong></p><p>&nbsp;</p><img src ="http://www.blogjava.net/suzixu/aggbug/420813.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/suzixu/" target="_blank">见习和尚</a> 2014-11-28 11:43 <a href="http://www.blogjava.net/suzixu/archive/2014/11/28/420813.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux svn服务器安装配置</title><link>http://www.blogjava.net/suzixu/archive/2012/02/16/370121.html</link><dc:creator>见习和尚</dc:creator><author>见习和尚</author><pubDate>Thu, 16 Feb 2012 09:05:00 GMT</pubDate><guid>http://www.blogjava.net/suzixu/archive/2012/02/16/370121.html</guid><wfw:comment>http://www.blogjava.net/suzixu/comments/370121.html</wfw:comment><comments>http://www.blogjava.net/suzixu/archive/2012/02/16/370121.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/suzixu/comments/commentRss/370121.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/suzixu/services/trackbacks/370121.html</trackback:ping><description><![CDATA[<div><span style="font-size: 14pt;">1. Svn独立服务安装</span><br /><span style="font-size: 14pt;"> 操作系统: Redhat Linux AS3 AS 4&nbsp; &nbsp;ContOS AS 4 </span><br /><span style="font-size: 14pt;"> 安装包获取:</span><br /><span style="font-size: 14pt;"> 下载</span><a href="http://subversion.tigris.org/downloads/subversion-1.4.0.tar.gz" target="_blank"><span style="font-size: 14pt;">http://subversion.tigris.org/downloads/subversion-1.4.0.tar.gz</span></a><span style="font-size: 14pt;">和</span><a href="http://subversion.tigris.org/downloads/subversion-deps-1.4.0.tar.gz" target="_blank"><span style="font-size: 14pt;">http://subversion.tigris.org/dow ... n-deps-1.4.0.tar.gz</span></a><span style="font-size: 14pt;">。</span><br /><span style="font-size: 14pt;"> 编译:</span><br /><span style="font-size: 14pt;"> 以root用户登录。</span><br /><span style="font-size: 14pt;"> 将subversion-1.4.0.tar.gz和subversion-deps-1.4.0.tar.gz传到服务器。</span><br /><span style="font-size: 14pt;"> tar xfvz subversion-1.4.0.tar.gz</span><br /><span style="font-size: 14pt;"> tar xfvz subversion-deps-1.4.0.tar.gz</span><br /><span style="font-size: 14pt;"> subversion-deps包有四个目录zlib apr apr-util neon这四个目录都是依赖包，编译subversion所必须的代码</span><br /><span style="font-size: 14pt;"> cd subversion-1.4.0</span><br /><span style="font-size: 14pt;"> ./configure &#8211;prefix=/opt/svn &#8211;without-berkeley-db &#8211;with-zlib （或者./configure）</span><br /><span style="font-size: 14pt;"> (注：以svnserve方式运行，不加apache编译参数。以fsfs格式存储版本库，不编译berkeley-db)</span><br /><span style="font-size: 14pt;"> make clean</span><br /><span style="font-size: 14pt;"> make</span><br /><span style="font-size: 14pt;"> make install</span><br /><span style="font-size: 14pt;"> vi /etc/profile,在/etc/profile最后加入:</span><br /><span style="font-size: 14pt;"> PATH=$PATH:/opt/svn/bin</span><br /><span style="font-size: 14pt;"> export PATH</span></div><br /><div><span style="font-size: 14pt;">2. svn配置</span><br /><span style="font-size: 14pt;"> 建立版本库目录，可建多个：</span><br /><span style="font-size: 14pt;"> mkdir -p /opt/svndata/repos1</span><br /><span style="font-size: 14pt;"> mkdir -p /opt/svndata/repos2</span><br /><span style="font-size: 14pt;"> 建立版本库:</span><br /><span style="font-size: 14pt;"> svnadmin create /opt/svndata/repos1</span><br /><span style="font-size: 14pt;"> svnadmin create /opt/svndata/repos2</span><br /><span style="font-size: 14pt;"> 修改版本库配置文件:</span><br /><span style="font-size: 14pt;"> 版本库1：</span><br /><span style="font-size: 14pt;"> vi /opt/svndata/repos1/conf/svnserve.conf</span><br /><span style="font-size: 14pt;"> 内容修改为:</span><br /><span style="font-size: 14pt;"> [general]</span><br /><span style="font-size: 14pt;"> anon-access = none</span><br /><span style="font-size: 14pt;"> auth-access = write</span><br /><span style="font-size: 14pt;"> password-db = /opt/svn/conf/pwd.conf</span><br /><span style="font-size: 14pt;"> authz-db = /opt/svn/conf/authz.conf</span><br /><span style="font-size: 14pt;"> realm = repos1</span><br /><span style="font-size: 14pt;"> 版本库2:</span><br /><span style="font-size: 14pt;"> vi /opt/svndata/repos2/conf/svnserve.conf</span><br /><span style="font-size: 14pt;"> 内容修改为:</span><br /><span style="font-size: 14pt;"> [general]</span><br /><span style="font-size: 14pt;"> anon-access = none</span><br /><span style="font-size: 14pt;"> auth-access = write</span><br /><span style="font-size: 14pt;"> password-db = /opt/svn/conf/pwd.conf</span><br /><span style="font-size: 14pt;"> authz-db = /opt/svn/conf/authz.conf</span><br /><span style="font-size: 14pt;"> realm = repos2</span><br /><span style="font-size: 14pt;"> 即除realm = repos2外，其他与版本库1配置文件完全相同。如果有更多的版本库，依此类推。</span><br /><span style="font-size: 14pt;"> 配置允许访问的用户:</span><br /><span style="font-size: 14pt;"> vi /opt/svn/conf/pwd.conf</span><br /><br /><div><span style="font-size: 14pt;">为了简化配置，2个版本库共用1个用户配置文件。如有必要，也可以分开。</span><br /><span style="font-size: 14pt;"> 注意：对用户配置文件的修改立即生效，不必重启svn。</span><br /><span style="font-size: 14pt;"> 文件格式如下：</span><br /><span style="font-size: 14pt;"> [users]</span><br /><span style="font-size: 14pt;">  = </span><br /><span style="font-size: 14pt;">  = </span><br /><span style="font-size: 14pt;"> 其中，[users]是必须的。下面列出要访问svn的用户，每个用户一行。示例：</span><br /><span style="font-size: 14pt;"> [users]</span><br /><span style="font-size: 14pt;"> alan = password</span><br /><span style="font-size: 14pt;"> king = hello</span><br /><span style="font-size: 14pt;"> 配置用户访问权限:</span><br /><span style="font-size: 14pt;"> vi /opt/svn/conf/authz.conf</span><br /><span style="font-size: 14pt;"> 为了简化配置，3个版本库共用1个权限配置文件/opt/svn/conf/pwd.conf。如有必要，也可以分开。文件中定义用户组和版本库目录权限。</span><br /><span style="font-size: 14pt;"> 注意：</span><br /><span style="font-size: 14pt;"> * 权限配置文件中出现的用户名必须已在用户配置文件中定义。</span><br /><span style="font-size: 14pt;"> * 对权限配置文件的修改立即生效，不必重启svn。</span><br /> </div><div><p style="text-indent: 13.5pt; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; font-family: 'Times New Roman'; line-height: normal; font-size: medium;"><span style="font-family: 宋体;"><span style="font-size: 14pt;">例子：</span></span></p><p style="text-indent: 13.5pt; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; font-family: 'Times New Roman'; line-height: normal; font-size: medium;"><span style="font-family: 'Times New Roman'; font-size: 14pt;">[groups]</span></p><p style="text-indent: 13.5pt; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; font-family: 'Times New Roman'; line-height: normal; font-size: medium;"><span style="font-family: 'Times New Roman'; font-size: 14pt;">root=root,zhangqiao</span></p><p style="text-indent: 13.5pt; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; font-family: 'Times New Roman'; line-height: normal; font-size: medium;"><span style="font-family: 'Times New Roman'; font-size: 14pt;">oracle=oracle</span></p><p style="text-indent: 13.5pt; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; font-family: 'Times New Roman'; line-height: normal; font-size: medium;">&nbsp;</p><p style="text-indent: 13.5pt; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; font-family: 'Times New Roman'; line-height: normal; font-size: medium;"><span style="font-family: 'Times New Roman'; font-size: 14pt;">[/it] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #&#8220; /&#8221;代表当前版本库的根目录</span></p><p style="text-indent: 13.5pt; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; font-family: 'Times New Roman'; line-height: normal; font-size: medium;"><span style="font-family: 'Times New Roman'; font-size: 14pt;">@root = rw</span></p><p style="text-indent: 13.5pt; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; font-family: 'Times New Roman'; line-height: normal; font-size: medium;"><span style="font-family: 'Times New Roman'; font-size: 14pt;">@oracle = r</span></p><p style="text-indent: 13.5pt; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; font-family: 'Times New Roman'; line-height: normal; font-size: medium;"><span style="font-family: 'Times New Roman'; font-size: 14pt;">* =</span></p><p style="text-indent: 13.5pt; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; font-family: 'Times New Roman'; line-height: normal; font-size: medium;"><span style="font-family: 'Times New Roman'; font-size: 14pt;">[/]</span></p><p style="text-indent: 13.5pt; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; font-family: 'Times New Roman'; line-height: normal; font-size: medium;"><span style="font-family: 'Times New Roman'; font-size: 14pt;">@root = rw</span></p><p style="text-indent: 13.5pt; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; font-family: 'Times New Roman'; line-height: normal; font-size: medium;"><span style="font-family: 'Times New Roman'; font-size: 14pt;">@oracle = r</span></p><p style="text-indent: 13.5pt; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; font-family: 'Times New Roman'; line-height: normal; font-size: medium;"><span style="font-family: 'Times New Roman'; font-size: 14pt;">* =</span></p></div><div><p style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; font-family: 'Times New Roman'; line-height: normal; font-size: medium;"><span style="font-size: small;"><span style="font-family: 'Times New Roman';"></span><span style="font-family: 宋体; font-size: 14pt;">用户名口令文件</span><span style="font-family: 'Times New Roman'; font-size: 14pt;">passwd.conf</span></span></p><p style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; font-family: 'Times New Roman'; line-height: normal; font-size: medium;"><span style="font-size: small;"><span style="font-family: 宋体; font-size: 14pt;">用户名口令文件由</span><span style="font-family: 'Times New Roman'; font-size: 14pt;">svnserve.conf</span><span style="font-family: 宋体; font-size: 14pt;">的配置项</span><span style="font-family: 'Times New Roman'; font-size: 14pt;">password-db</span><span style="font-family: 宋体; font-size: 14pt;">指定，缺省为</span><span style="font-family: 'Times New Roman'; font-size: 14pt;">conf</span><span style="font-family: 宋体; font-size: 14pt;">目录中的</span><span style="font-family: 'Times New Roman'; font-size: 14pt;">passwd</span><span style="font-family: 宋体; font-size: 14pt;">。该文件仅由一个</span><span style="font-family: 'Times New Roman'; font-size: 14pt;">[users]</span><span style="font-family: 宋体; font-size: 14pt;">配置段组成。</span></span><span style="font-size: small;"><span style="font-family: 'Times New Roman';">&nbsp;<br /></span><span style="font-family: 'Times New Roman'; font-size: 14pt;">&nbsp;&nbsp;&nbsp; [users]</span><span style="font-family: 宋体; font-size: 14pt;">配置段的配置行格式如下：</span></span><span style="font-size: small;"><span style="font-family: 'Times New Roman';">&nbsp;<br /></span><span style="font-family: 'Times New Roman'; font-size: 14pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;</span><span style="font-family: 宋体; font-size: 14pt;">用户名</span><span style="font-family: 'Times New Roman'; font-size: 14pt;">&gt; = &lt;</span><span style="font-family: 宋体; font-size: 14pt;">口令</span></span><span style="font-size: small;"><span style="font-family: 'Times New Roman'; font-size: 14pt;">&gt;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-family: 宋体; font-size: 14pt;">注意：配置行中的口令为未经过任何处理的明文。</span></span></p><p style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; font-family: 'Times New Roman'; line-height: normal; font-size: medium;"><span style="font-family: 宋体;"><span style="font-size: 14pt;">特别注意配置文件中每个有效行前面不能有空格，否则会报错。</span></span></p><p style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; font-family: 'Times New Roman'; line-height: normal; font-size: medium;"><span style="font-size: small;"><span style="font-family: 'Times New Roman'; font-size: 14pt;">a.</span><span style="font-family: 宋体; font-size: 14pt;">如果在用户名口令文件中有空格则报</span><span style="font-family: 'Times New Roman'; font-size: 14pt;">:</span><span style="font-family: 宋体; font-size: 14pt;">认证失败</span></span></p><p style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; font-family: 'Times New Roman'; line-height: normal; font-size: medium;"><span style="font-size: small;"><span style="font-family: 'Times New Roman'; font-size: 14pt;">b.&nbsp;</span><span style="font-family: 宋体; font-size: 14pt;">如果在权限控制文件中有空格则报：认证配置失败</span></span></p><p style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; font-family: 'Times New Roman'; line-height: normal; font-size: medium;"><span style="font-size: small;"><span style="font-family: 'Times New Roman'; font-size: 14pt;">c.</span><span style="font-family: 宋体; font-size: 14pt;">如果在服务器配置文件有空格则报：</span></span></p><p style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; font-family: 'Times New Roman'; line-height: normal; font-size: medium;">&nbsp;</p><p style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; font-family: 'Times New Roman'; line-height: normal; font-size: medium;"><span style="font-family: 'Times New Roman'; font-size: 14pt;">[users]</span></p><p style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; font-family: 'Times New Roman'; line-height: normal; font-size: medium;"><span style="font-family: 'Times New Roman'; font-size: 14pt;">root=root</span></p><p style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; font-family: 'Times New Roman'; line-height: normal; font-size: medium;"><span style="font-family: 'Times New Roman'; font-size: 14pt;">zhangqiao=zhangqiao</span></p><p style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; font-family: 'Times New Roman'; line-height: normal; font-size: medium;"><span style="font-family: 'Times New Roman'; font-size: 14pt;">oracle=oracle111</span></p></div><span style="font-family: 'Times New Roman';"></span><span style="font-size: small;"><span style="font-family: 宋体;"></span></span><br /><div><p style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; font-family: 'Times New Roman'; line-height: normal; font-size: medium;"><span style="font-size: small;"><span style="font-family: 'Times New Roman';"></span></span><div><span style="font-size: small;"><span style="font-family: 'Times New Roman';"></span><span style="font-family: 宋体; font-size: 14pt;">3. SVN启动</span><span style="font-family: 'Times New Roman'; font-size: 14pt;">:&nbsp; <div><div><span style="font-size: 14pt;"> svnserve&nbsp;-d&nbsp;-r&nbsp;/opt/svndata/repos1&nbsp;--listen-port&nbsp;3610&nbsp;&amp;&nbsp; </span><br /> </div></div><br /></span></span></div><span style="font-size: small;"><span style="font-family: 'Times New Roman';"><br /><br /></span><span style="font-family: 'Times New Roman';"></span></span></p></div></div><img src ="http://www.blogjava.net/suzixu/aggbug/370121.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/suzixu/" target="_blank">见习和尚</a> 2012-02-16 17:05 <a href="http://www.blogjava.net/suzixu/archive/2012/02/16/370121.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>3分钟配完log4j</title><link>http://www.blogjava.net/suzixu/archive/2010/10/17/335367.html</link><dc:creator>见习和尚</dc:creator><author>见习和尚</author><pubDate>Sun, 17 Oct 2010 11:39:00 GMT</pubDate><guid>http://www.blogjava.net/suzixu/archive/2010/10/17/335367.html</guid><wfw:comment>http://www.blogjava.net/suzixu/comments/335367.html</wfw:comment><comments>http://www.blogjava.net/suzixu/archive/2010/10/17/335367.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/suzixu/comments/commentRss/335367.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/suzixu/services/trackbacks/335367.html</trackback:ping><description><![CDATA[第一步：先定义一个简单的log4j工厂类，很简单，直接继承Logger<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 alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;org.apache.log4j.Logger;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;org.apache.log4j.PropertyConfigurator;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img id="Codehighlighter1_79_164_Open_Image" onclick="this.style.display='none'; Codehighlighter1_79_164_Open_Text.style.display='none'; Codehighlighter1_79_164_Closed_Image.style.display='inline'; Codehighlighter1_79_164_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_79_164_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_79_164_Closed_Text.style.display='none'; Codehighlighter1_79_164_Open_Image.style.display='inline'; Codehighlighter1_79_164_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_79_164_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_79_164_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;*&nbsp;自定义的Logger工厂类，继承自Logger<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;*&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;*&nbsp;</span><span style="color: #808080">@author</span><span style="color: #008000">&nbsp;见习和尚<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;*&nbsp;</span><span style="color: #808080">@since</span><span style="color: #008000">&nbsp;2010<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;*&nbsp;</span><span style="color: #808080">@version</span><span style="color: #008000">&nbsp;v1.0<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
<img id="Codehighlighter1_204_454_Open_Image" onclick="this.style.display='none'; Codehighlighter1_204_454_Open_Text.style.display='none'; Codehighlighter1_204_454_Closed_Image.style.display='inline'; Codehighlighter1_204_454_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_204_454_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_204_454_Closed_Text.style.display='none'; Codehighlighter1_204_454_Open_Image.style.display='inline'; Codehighlighter1_204_454_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;LogFactory&nbsp;</span><span style="color: #0000ff">extends</span><span style="color: #000000">&nbsp;Logger</span><span id="Codehighlighter1_204_454_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_204_454_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img id="Codehighlighter1_208_238_Open_Image" onclick="this.style.display='none'; Codehighlighter1_208_238_Open_Text.style.display='none'; Codehighlighter1_208_238_Closed_Image.style.display='inline'; Codehighlighter1_208_238_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_208_238_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_208_238_Closed_Text.style.display='none'; Codehighlighter1_208_238_Open_Image.style.display='inline'; Codehighlighter1_208_238_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_208_238_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_208_238_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;静态块---初始化log4j配置文件<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
<img id="Codehighlighter1_248_357_Open_Image" onclick="this.style.display='none'; Codehighlighter1_248_357_Open_Text.style.display='none'; Codehighlighter1_248_357_Closed_Image.style.display='inline'; Codehighlighter1_248_357_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_248_357_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_248_357_Closed_Text.style.display='none'; Codehighlighter1_248_357_Open_Image.style.display='inline'; Codehighlighter1_248_357_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span id="Codehighlighter1_248_357_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_248_357_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">log4j配置文件路径</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PropertyConfigurator.configure(</span><span style="color: #000000">"</span><span style="color: #000000">D:\\workspace\\LogWeb\\src\\log4j.properties</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img id="Codehighlighter1_362_397_Open_Image" onclick="this.style.display='none'; Codehighlighter1_362_397_Open_Text.style.display='none'; Codehighlighter1_362_397_Closed_Image.style.display='inline'; Codehighlighter1_362_397_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_362_397_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_362_397_Closed_Text.style.display='none'; Codehighlighter1_362_397_Open_Image.style.display='inline'; Codehighlighter1_362_397_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_362_397_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_362_397_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;重载的构造方法<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;name<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
<img id="Codehighlighter1_434_452_Open_Image" onclick="this.style.display='none'; Codehighlighter1_434_452_Open_Text.style.display='none'; Codehighlighter1_434_452_Closed_Image.style.display='inline'; Codehighlighter1_434_452_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_434_452_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_434_452_Closed_Text.style.display='none'; Codehighlighter1_434_452_Open_Image.style.display='inline'; Codehighlighter1_434_452_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">protected</span><span style="color: #000000">&nbsp;LogFactory(String&nbsp;name)&nbsp;</span><span id="Codehighlighter1_434_452_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_434_452_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">super</span><span style="color: #000000">(name);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span></div>
<br />
第二步：在classpath下创建并配置log4j配置文件，配置文件如下（注释已经写的很清楚了）：<br />
log4j.properties配置文件如下，可直接copy使用<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 alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">##&nbsp;defined&nbsp;log&nbsp;level;log&nbsp;to&nbsp;Console&nbsp;and&nbsp;to&nbsp;file&nbsp;and&nbsp;to&nbsp;DB<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />log4j.rootCategory</span><span style="color: #000000">=</span><span style="color: #000000">DEBUG,&nbsp;stdout&nbsp;,&nbsp;R&nbsp;,DATABASE<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />##&nbsp;printout&nbsp;log&nbsp;to&nbsp;Console<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />log4j.appender.stdout</span><span style="color: #000000">=</span><span style="color: #000000">org.apache.log4j.ConsoleAppender<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />##&nbsp;log&nbsp;format<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />log4j.appender.stdout.layout</span><span style="color: #000000">=</span><span style="color: #000000">org.apache.log4j.PatternLayout<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />##&nbsp;Console&nbsp;log&nbsp;format<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />##&nbsp;log4j.appender.stdout.layout.ConversionPattern</span><span style="color: #000000">=</span><span style="color: #000000">[QC]&nbsp;</span><span style="color: #000000">%</span><span style="color: #000000">p&nbsp;[</span><span style="color: #000000">%</span><span style="color: #000000">t]&nbsp;</span><span style="color: #000000">%</span><span style="color: #000000">C.</span><span style="color: #000000">%</span><span style="color: #000000">M(</span><span style="color: #000000">%</span><span style="color: #000000">L)&nbsp;</span><span style="color: #000000">|</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">%</span><span style="color: #000000">m</span><span style="color: #000000">%</span><span style="color: #000000">n<br />
<img id="Codehighlighter1_412_432_Open_Image" onclick="this.style.display='none'; Codehighlighter1_412_432_Open_Text.style.display='none'; Codehighlighter1_412_432_Closed_Image.style.display='inline'; Codehighlighter1_412_432_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_412_432_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_412_432_Closed_Text.style.display='none'; Codehighlighter1_412_432_Open_Image.style.display='inline'; Codehighlighter1_412_432_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />log4j.appender.stdout.layout.ConversionPattern</span><span style="color: #000000">=%</span><span style="color: #000000">d</span><span id="Codehighlighter1_412_432_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_412_432_Open_Text"><span style="color: #000000">{yyyy</span><span style="color: #000000">-</span><span style="color: #000000">MM</span><span style="color: #000000">-</span><span style="color: #000000">dd&nbsp;hh:mm:ss}</span></span><span style="color: #000000">&nbsp;</span><span style="color: #000000">|</span><span style="color: #000000">&nbsp;[</span><span style="color: #000000">%</span><span style="color: #000000">t]&nbsp;(</span><span style="color: #000000">%</span><span style="color: #000000">F:</span><span style="color: #000000">%</span><span style="color: #000000">L)&nbsp;</span><span style="color: #000000">|</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">%</span><span style="color: #000000">m</span><span style="color: #000000">%</span><span style="color: #000000">n<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />##&nbsp;defined&nbsp;each&nbsp;day&nbsp;create&nbsp;a&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;logfile<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />log4j.appender.R</span><span style="color: #000000">=</span><span style="color: #000000">org.apache.log4j.DailyRollingFileAppender<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />##&nbsp;</span><span style="color: #000000">'</span><span style="color: #000000">.</span><span style="color: #000000">'</span><span style="color: #000000">yyyy</span><span style="color: #000000">-</span><span style="color: #000000">MM:&nbsp;each&nbsp;month<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />##&nbsp;</span><span style="color: #000000">'</span><span style="color: #000000">.</span><span style="color: #000000">'</span><span style="color: #000000">yyyy</span><span style="color: #000000">-</span><span style="color: #000000">ww:&nbsp;each&nbsp;week<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />##&nbsp;</span><span style="color: #000000">'</span><span style="color: #000000">.</span><span style="color: #000000">'</span><span style="color: #000000">yyyy</span><span style="color: #000000">-</span><span style="color: #000000">MM</span><span style="color: #000000">-</span><span style="color: #000000">dd:&nbsp;each&nbsp;day<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />##&nbsp;</span><span style="color: #000000">'</span><span style="color: #000000">.</span><span style="color: #000000">'</span><span style="color: #000000">yyyy</span><span style="color: #000000">-</span><span style="color: #000000">MM</span><span style="color: #000000">-</span><span style="color: #000000">dd</span><span style="color: #000000">-</span><span style="color: #000000">a:&nbsp;two&nbsp;files&nbsp;one&nbsp;day<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />##&nbsp;</span><span style="color: #000000">'</span><span style="color: #000000">.</span><span style="color: #000000">'</span><span style="color: #000000">yyyy</span><span style="color: #000000">-</span><span style="color: #000000">MM</span><span style="color: #000000">-</span><span style="color: #000000">dd</span><span style="color: #000000">-</span><span style="color: #000000">HH:&nbsp;per&nbsp;hours<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />##&nbsp;</span><span style="color: #000000">'</span><span style="color: #000000">.</span><span style="color: #000000">'</span><span style="color: #000000">yyyy</span><span style="color: #000000">-</span><span style="color: #000000">MM</span><span style="color: #000000">-</span><span style="color: #000000">dd</span><span style="color: #000000">-</span><span style="color: #000000">HH</span><span style="color: #000000">-</span><span style="color: #000000">mm:&nbsp;per&nbsp;minites<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />log4j.appender.R.DatePattern</span><span style="color: #000000">=</span><span style="color: #000000">'</span><span style="color: #000000">.</span><span style="color: #000000">'</span><span style="color: #000000">yyyy</span><span style="color: #000000">-</span><span style="color: #000000">MM</span><span style="color: #000000">-</span><span style="color: #000000">dd</span><span style="color: #000000">-</span><span style="color: #000000">HH</span><span style="color: #000000">-</span><span style="color: #000000">mm<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />##&nbsp;defined&nbsp;logfile&nbsp;path<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />log4j.appender.R.File</span><span style="color: #000000">=</span><span style="color: #000000">D\:\\Program&nbsp;Files\\apache</span><span style="color: #000000">-</span><span style="color: #000000">tomcat</span><span style="color: #000000">-</span><span style="color: #000000">6.0</span><span style="color: #000000">.</span><span style="color: #000000">28</span><span style="color: #000000">\\logs\\gc.log<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />log4j.appender.R.layout</span><span style="color: #000000">=</span><span style="color: #000000">org.apache.log4j.PatternLayout<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />##&nbsp;</span><span style="color: #000000">%</span><span style="color: #000000">d&nbsp;means&nbsp;date&nbsp;time;&nbsp;</span><span style="color: #000000">%</span><span style="color: #000000">t&nbsp;means&nbsp;which&nbsp;method;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />##&nbsp;</span><span style="color: #000000">%</span><span style="color: #000000">F&nbsp;means&nbsp;file;</span><span style="color: #000000">%</span><span style="color: #000000">c&nbsp;means&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;name;&nbsp;</span><span style="color: #000000">%</span><span style="color: #000000">L&nbsp;means&nbsp;which&nbsp;line;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />##&nbsp;</span><span style="color: #000000">%</span><span style="color: #000000">m&nbsp;means&nbsp;message&nbsp;which&nbsp;we&nbsp;want&nbsp;to&nbsp;print;&nbsp;</span><span style="color: #000000">%</span><span style="color: #000000">n&nbsp;means&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">\r\n</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;in&nbsp;windows&nbsp;and&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">\n</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;in&nbsp;unix<br />
<img id="Codehighlighter1_1182_1202_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1182_1202_Open_Text.style.display='none'; Codehighlighter1_1182_1202_Closed_Image.style.display='inline'; Codehighlighter1_1182_1202_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_1182_1202_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1182_1202_Closed_Text.style.display='none'; Codehighlighter1_1182_1202_Open_Image.style.display='inline'; Codehighlighter1_1182_1202_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />##&nbsp;</span><span style="color: #000000">%</span><span style="color: #000000">p&nbsp;means&nbsp;print&nbsp;log&nbsp;level;&nbsp;</span><span style="color: #000000">%</span><span style="color: #000000">d</span><span id="Codehighlighter1_1182_1202_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_1182_1202_Open_Text"><span style="color: #000000">{yyyy</span><span style="color: #000000">-</span><span style="color: #000000">MM</span><span style="color: #000000">-</span><span style="color: #000000">dd&nbsp;hh:mm:ss}</span></span><span style="color: #000000">&nbsp;means&nbsp;print&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">yyyy-MM-dd&nbsp;hh:mm:ss</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;date<br />
<img id="Codehighlighter1_1287_1307_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1287_1307_Open_Text.style.display='none'; Codehighlighter1_1287_1307_Closed_Image.style.display='inline'; Codehighlighter1_1287_1307_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_1287_1307_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1287_1307_Closed_Text.style.display='none'; Codehighlighter1_1287_1307_Open_Image.style.display='inline'; Codehighlighter1_1287_1307_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />log4j.appender.R.layout.ConversionPattern</span><span style="color: #000000">=%</span><span style="color: #000000">d</span><span id="Codehighlighter1_1287_1307_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_1287_1307_Open_Text"><span style="color: #000000">{yyyy</span><span style="color: #000000">-</span><span style="color: #000000">MM</span><span style="color: #000000">-</span><span style="color: #000000">dd&nbsp;hh:mm:ss}</span></span><span style="color: #000000">&nbsp;</span><span style="color: #000000">|</span><span style="color: #000000">&nbsp;[</span><span style="color: #000000">%</span><span style="color: #000000">t]&nbsp;(</span><span style="color: #000000">%</span><span style="color: #000000">F:</span><span style="color: #000000">%</span><span style="color: #000000">L)&nbsp;</span><span style="color: #000000">|</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">%</span><span style="color: #000000">m</span><span style="color: #000000">%</span><span style="color: #000000">n<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#&nbsp;in&nbsp;database<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />log4j.appender.DATABASE.BufferSize</span><span style="color: #000000">=</span><span style="color: #000000">10</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />log4j.appender.DATABASE</span><span style="color: #000000">=</span><span style="color: #000000">org.apache.log4j.jdbc.JDBCAppender<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />log4j.appender.DATABASE.URL</span><span style="color: #000000">=</span><span style="color: #000000">jdbc\:mysql\:</span><span style="color: #008000">//</span><span style="color: #008000">localhost\:3306/test</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">log4j.appender.DATABASE.driver</span><span style="color: #000000">=</span><span style="color: #000000">com.mysql.jdbc.Driver<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />log4j.appender.DATABASE.user</span><span style="color: #000000">=</span><span style="color: #000000">root<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />log4j.appender.DATABASE.password</span><span style="color: #000000">=</span><span style="color: #000000">password<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />log4j.appender.DATABASE.sql</span><span style="color: #000000">=</span><span style="color: #000000">INSERT&nbsp;INTO&nbsp;Log4j(message)&nbsp;VALUES&nbsp;(</span><span style="color: #000000">'</span><span style="color: #000000">[framework]&nbsp;%d{yyyy-MM-dd&nbsp;hh\:mm\:ss}&nbsp;|&nbsp;[%t]&nbsp;(%F\:%L)&nbsp;|&nbsp;%m%n</span><span style="color: #000000">'</span><span style="color: #000000">)&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />log4j.appender.DATABASE.layout</span><span style="color: #000000">=</span><span style="color: #000000">org.apache.log4j.PatternLayout&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />log4j.logger.com.neusoft</span><span style="color: #000000">=</span><span style="color: #000000">DEBUG<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />log4j.logger.com.opensymphony.oscache</span><span style="color: #000000">=</span><span style="color: #000000">ERROR<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />log4j.logger.net.sf.navigator</span><span style="color: #000000">=</span><span style="color: #000000">ERROR<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />log4j.logger.org.apache.commons</span><span style="color: #000000">=</span><span style="color: #000000">ERROR<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />log4j.logger.org.apache.struts</span><span style="color: #000000">=</span><span style="color: #000000">WARN<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />log4j.logger.org.displaytag</span><span style="color: #000000">=</span><span style="color: #000000">ERROR<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />log4j.logger.org.springframework</span><span style="color: #000000">=</span><span style="color: #000000">DEBUG<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />log4j.logger.com.ibatis.db</span><span style="color: #000000">=</span><span style="color: #000000">WARN<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />log4j.logger.org.apache.velocity</span><span style="color: #000000">=</span><span style="color: #000000">FATAL<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />log4j.logger.com.canoo.webtest</span><span style="color: #000000">=</span><span style="color: #000000">WARN<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />log4j.logger.org.hibernate.ps.PreparedStatementCache</span><span style="color: #000000">=</span><span style="color: #000000">WARN<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />log4j.logger.org.hibernate</span><span style="color: #000000">=</span><span style="color: #000000">DEBUG<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />log4j.logger.org.logicalcobwebs</span><span style="color: #000000">=</span><span style="color: #000000">WARN&nbsp;</span></div>
<br />
第三部：在代码中使用log4j，样例如下：<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 alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;org.apache.log4j.Logger;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;org.apache.log4j.Priority;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;com.sys.common.util.log.LogFactory;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img id="Codehighlighter1_134_696_Open_Image" onclick="this.style.display='none'; Codehighlighter1_134_696_Open_Text.style.display='none'; Codehighlighter1_134_696_Closed_Image.style.display='inline'; Codehighlighter1_134_696_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_134_696_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_134_696_Closed_Text.style.display='none'; Codehighlighter1_134_696_Open_Image.style.display='inline'; Codehighlighter1_134_696_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;TestLog4j&nbsp;</span><span id="Codehighlighter1_134_696_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_134_696_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&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;LogFactory.getLogger(TestLog4j.</span><span style="color: #0000ff">class</span><span style="color: #000000">.getName());<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img id="Codehighlighter1_230_233_Open_Image" onclick="this.style.display='none'; Codehighlighter1_230_233_Open_Text.style.display='none'; Codehighlighter1_230_233_Closed_Image.style.display='inline'; Codehighlighter1_230_233_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_230_233_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_230_233_Closed_Text.style.display='none'; Codehighlighter1_230_233_Open_Image.style.display='inline'; Codehighlighter1_230_233_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;TestLog4j()&nbsp;</span><span id="Codehighlighter1_230_233_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_230_233_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img id="Codehighlighter1_276_694_Open_Image" onclick="this.style.display='none'; Codehighlighter1_276_694_Open_Text.style.display='none'; Codehighlighter1_276_694_Closed_Image.style.display='inline'; Codehighlighter1_276_694_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_276_694_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_276_694_Closed_Text.style.display='none'; Codehighlighter1_276_694_Open_Image.style.display='inline'; Codehighlighter1_276_694_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</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_276_694_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_276_694_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger.debug(</span><span style="color: #000000">"</span><span style="color: #000000">Start&nbsp;of&nbsp;the&nbsp;main()&nbsp;in&nbsp;TestLog4j</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger.info(</span><span style="color: #000000">"</span><span style="color: #000000">Just&nbsp;testing&nbsp;a&nbsp;log&nbsp;message&nbsp;with&nbsp;priority&nbsp;set&nbsp;to&nbsp;INFO</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger.warn(</span><span style="color: #000000">"</span><span style="color: #000000">Just&nbsp;testing&nbsp;a&nbsp;log&nbsp;message&nbsp;with&nbsp;priority&nbsp;set&nbsp;to&nbsp;WARN</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger.error(</span><span style="color: #000000">"</span><span style="color: #000000">Just&nbsp;testing&nbsp;a&nbsp;log&nbsp;message&nbsp;with&nbsp;priority&nbsp;set&nbsp;to&nbsp;ERROR</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger.fatal(</span><span style="color: #000000">"</span><span style="color: #000000">Just&nbsp;testing&nbsp;a&nbsp;log&nbsp;message&nbsp;with&nbsp;priority&nbsp;set&nbsp;to&nbsp;FATAL</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger.log(Priority.WARN,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">Testing&nbsp;a&nbsp;log&nbsp;message&nbsp;use&nbsp;a&nbsp;alternate&nbsp;form</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div>
<br />
OK！在java application应用中这样配置就结束了。样例支持三种输出：1、控制台 2、文件 3、数据库<br />
<br />
另外：如果要在web中使用log4j。只需额外定义一个log4j加载类并配置web.xml即可。加载类如下：<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 alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;org.apache.log4j.PropertyConfigurator;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.servlet.http.HttpServlet;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img id="Codehighlighter1_129_332_Open_Image" onclick="this.style.display='none'; Codehighlighter1_129_332_Open_Text.style.display='none'; Codehighlighter1_129_332_Closed_Image.style.display='inline'; Codehighlighter1_129_332_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_129_332_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_129_332_Closed_Text.style.display='none'; Codehighlighter1_129_332_Open_Image.style.display='inline'; Codehighlighter1_129_332_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></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_129_332_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_129_332_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img id="Codehighlighter1_152_330_Open_Image" onclick="this.style.display='none'; Codehighlighter1_152_330_Open_Text.style.display='none'; Codehighlighter1_152_330_Closed_Image.style.display='inline'; Codehighlighter1_152_330_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_152_330_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_152_330_Closed_Text.style.display='none'; Codehighlighter1_152_330_Open_Image.style.display='inline'; Codehighlighter1_152_330_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&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()&nbsp;</span><span id="Codehighlighter1_152_330_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_152_330_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;prefix&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;getServletContext().getRealPath(</span><span style="color: #000000">"</span><span style="color: #000000">/</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;file&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;getInitParameter(</span><span style="color: #000000">"</span><span style="color: #000000">log4j</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img id="Codehighlighter1_273_327_Open_Image" onclick="this.style.display='none'; Codehighlighter1_273_327_Open_Text.style.display='none'; Codehighlighter1_273_327_Closed_Image.style.display='inline'; Codehighlighter1_273_327_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_273_327_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_273_327_Closed_Text.style.display='none'; Codehighlighter1_273_327_Open_Image.style.display='inline'; Codehighlighter1_273_327_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(file&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">)&nbsp;</span><span id="Codehighlighter1_273_327_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_273_327_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PropertyConfigurator.configure(prefix&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;file);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div>
<br />
web.xml中增量配置如下：<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 alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">servlet</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">&gt;</span><span style="color: #000000">log4j</span><span style="color: #000000">&lt;/</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #0000ff">class</span><span style="color: #000000">&gt;</span><span style="color: #000000">com.apache.jakarta.log4j.Log4jInit</span><span style="color: #000000">&lt;/</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #0000ff">class</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">init</span><span style="color: #000000">-</span><span style="color: #000000">param</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">&gt;</span><span style="color: #000000">log4j</span><span style="color: #000000">&lt;/</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">value</span><span style="color: #000000">&gt;/</span><span style="color: #000000">WEB</span><span style="color: #000000">-</span><span style="color: #000000">INF</span><span style="color: #000000">/</span><span style="color: #000000">log4j.properties</span><span style="color: #000000">&lt;/</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">value</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">init</span><span style="color: #000000">-</span><span style="color: #000000">param</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">load</span><span style="color: #000000">-</span><span style="color: #000000">on</span><span style="color: #000000">-</span><span style="color: #000000">startup</span><span style="color: #000000">&gt;</span><span style="color: #000000">1</span><span style="color: #000000">&lt;/</span><span style="color: #000000">load</span><span style="color: #000000">-</span><span style="color: #000000">on</span><span style="color: #000000">-</span><span style="color: #000000">startup</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">servlet</span><span style="color: #000000">&gt;</span></div>
好了，配置完毕。接下来就是用了。。。 
 <img src ="http://www.blogjava.net/suzixu/aggbug/335367.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/suzixu/" target="_blank">见习和尚</a> 2010-10-17 19:39 <a href="http://www.blogjava.net/suzixu/archive/2010/10/17/335367.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>闲来无事，写个AES（256位）加解密程序</title><link>http://www.blogjava.net/suzixu/archive/2010/09/16/332228.html</link><dc:creator>见习和尚</dc:creator><author>见习和尚</author><pubDate>Thu, 16 Sep 2010 11:36:00 GMT</pubDate><guid>http://www.blogjava.net/suzixu/archive/2010/09/16/332228.html</guid><wfw:comment>http://www.blogjava.net/suzixu/comments/332228.html</wfw:comment><comments>http://www.blogjava.net/suzixu/archive/2010/09/16/332228.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/suzixu/comments/commentRss/332228.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/suzixu/services/trackbacks/332228.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: AES加密，代码如下：import&nbsp;java.security.InvalidKeyException;import&nbsp;java.util.ArrayList;import&nbsp;java.util.List;import&nbsp;java.util.Scanner;import&nbsp;javax.crypto.*;import&nbsp;j...&nbsp;&nbsp;<a href='http://www.blogjava.net/suzixu/archive/2010/09/16/332228.html'>阅读全文</a><img src ="http://www.blogjava.net/suzixu/aggbug/332228.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/suzixu/" target="_blank">见习和尚</a> 2010-09-16 19:36 <a href="http://www.blogjava.net/suzixu/archive/2010/09/16/332228.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>