﻿<?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-刚沏上香浓的Java-文章分类-Web Server</title><link>http://www.blogjava.net/xiaofeng/category/28480.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 28 Dec 2007 16:40:33 GMT</lastBuildDate><pubDate>Fri, 28 Dec 2007 16:40:33 GMT</pubDate><ttl>60</ttl><item><title>抛弃IIS --- 小巧的ASP web server ---- netbox</title><link>http://www.blogjava.net/xiaofeng/articles/171339.html</link><dc:creator>傅晓风</dc:creator><author>傅晓风</author><pubDate>Fri, 28 Dec 2007 14:22:00 GMT</pubDate><guid>http://www.blogjava.net/xiaofeng/articles/171339.html</guid><wfw:comment>http://www.blogjava.net/xiaofeng/comments/171339.html</wfw:comment><comments>http://www.blogjava.net/xiaofeng/articles/171339.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaofeng/comments/commentRss/171339.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaofeng/services/trackbacks/171339.html</trackback:ping><description><![CDATA[<p><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 12pt">netbox = 网络盒子 是一个很好用而且又小巧的web软件，本篇文章要说的是如何让 netbox 支持多个站点。进入正题：</span></span></span></p>
<p><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 12pt">右击"main.box"用记事本打开，可以看到的是类似如下代码:<br />
而以下默认代码只支持一个站点使用,如何多个站点同用"netbox"呢？<br />
请关注本篇文章<br />
---------------------------------------------------------------<br />
单个站点使用的代码：<br />
--------------------------------<br />
Dim httpd<br />
Shell.Service.icon = "\status\on.gif"<br />
Shell.Service.RunService "ASPWebserver", "AspWeb服务器", "AspWeb服务器 off"</span></span></span></p>
<p><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 12pt">'---------------------- 服务事件开始 ---------------------</span></span></span></p>
<p><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 12pt">Sub OnServiceStart()<br />
Shell.Service.SetTimer 100<br />
Set httpd = CreateObject("netbox.HttpServer")</span></span></span></p>
<p><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 12pt">If httpd.Create("",80) = 0 Then<br />
Set host = httpd.AddHost("", "\web\")<br />
host.EnableWrite=false<br />
host.Enables cript = true<br />
host.AddDefault "default.asp"<br />
host.AddDefault "default.htm"<br />
host.AddDefault "default.html"<br />
host.AddDefault "index.htm"<br />
host.AddDefault "index.asp"<br />
host.AddDefault "index.html"</span></span></span></p>
<p><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 12pt">httpd.Start<br />
else<br />
Shell.MsgBox "服务器启动失败，80端口可能被占用!请停止当前WEB服务器或用记事本打开main.box文件修改端口.","错误对话框"<br />
Shell.Quit 0<br />
end if<br />
End Sub</span></span></span></p>
<p><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 12pt">Sub OnServiceStop()<br />
httpd.Close<br />
End Sub</span></span></span></p>
<p><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 12pt">Sub OnServicePause()<br />
Shell.Service.Icon = "\status\off.gif" <br />
Shell.MsgBox "服务器暂停运行!必要时记得打开噢!","暂停运行"<br />
End Sub</span></span></span></p>
<p><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 12pt">Sub OnServiceResume()<br />
OnServiceTimer<br />
httpd.Start<br />
End Sub</span></span></span></p>
<p><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 12pt">Sub OnServiceTimer<br />
If Shell.Service.icon = "\status\on.gif" Then<br />
&nbsp;&nbsp; Shell.Service.icon = "\status\on1.gif"<br />
Else<br />
&nbsp;&nbsp; Shell.Service.icon = "\status\on.gif"<br />
End If<br />
End Sub<br />
--------------------------------------------------------------------------------<br />
两个站点使用的代码：<br />
--------------------------------<br />
Dim httpd1,httpd2<br />
Dim httpd<br />
Shell.Service.RunService "ASPWebserver", "AspWeb服务器", "AspWeb服务器 off"<br />
'---------------------- 服务事件开始 ---------------------<br />
Sub OnServiceStart()<br />
Set httpd1 = NetBox.CreateObject("NetBox.HttpServer")<br />
Set httpd2 = NetBox.CreateObject("NetBox.HttpServer")<br />
If httpd1.Create("", 80) = 0 Then<br />
Set host1 = httpd1.AddHost("127.0.0.1", "\web\")<br />
host1.Enables cript = true<br />
host1.AddDefault "default.asp"<br />
host1.AddDefault "default.htm"<br />
host1.AddDefault "index.asp"<br />
host1.AddDefault "index.htm"<br />
'httpd.Start<br />
else<br />
Shell.Quit 0<br />
end if<br />
'Set httpd = NetBox.CreateObject("NetBox.HttpServer")<br />
If httpd2.Create("", 81) = 0 Then<br />
Set host2 = httpd2.AddHost("127.0.0.2", "\web\")<br />
host2.Enables cript = true<br />
host2.AddDefault "default.asp"<br />
host2.AddDefault "default.htm"<br />
host2.AddDefault "index.asp"<br />
host2.AddDefault "index.htm"<br />
httpd1.Start<br />
httpd2.start<br />
else<br />
Shell.Quit 0<br />
end if<br />
End Sub<br />
Sub OnServiceStop()<br />
httpd1.Close<br />
httpd2.Close<br />
End Sub<br />
Sub OnServicePause()<br />
httpd1.Stop<br />
httpd2.Stop<br />
End Sub<br />
Sub OnServiceResume()<br />
httpd1.Start<br />
httpd2.Start<br />
End Sub</span></span></span></p>
<p><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 12pt">---------------------------------------------------------------------------------<br />
三个站点同时使用：<br />
--------------------------------<br />
Dim httpd1,httpd2,httpd3<br />
Dim httpd<br />
Shell.Service.RunService "ASPWebserver", "AspWeb服务器", "AspWeb服务器 off"<br />
'---------------------- 服务事件开始 ---------------------<br />
Sub OnServiceStart()<br />
Set httpd1 = NetBox.CreateObject("NetBox.HttpServer")<br />
Set httpd2 = NetBox.CreateObject("NetBox.HttpServer")<br />
Set httpd3 = NetBox.CreateObject("NetBox.HttpServer")<br />
If httpd1.Create("", 80) = 0 Then<br />
Set host1 = httpd1.AddHost("127.0.0.1", "\web\")<br />
host1.Enables cript = true<br />
host1.AddDefault "default.asp"<br />
host1.AddDefault "default.htm"<br />
host1.AddDefault "default.html"<br />
host1.AddDefault "index.htm"<br />
host1.AddDefault "index.asp"<br />
host1.AddDefault "index.html"<br />
'httpd.Start<br />
else<br />
Shell.Quit 0<br />
end if<br />
'Set httpd = NetBox.CreateObject("NetBox.HttpServer")<br />
If httpd2.Create("", 81) = 0 Then<br />
Set host2 = httpd2.AddHost("127.0.0.2", "\web\")<br />
host2.Enables cript = true<br />
host2.AddDefault "default.asp"<br />
host2.AddDefault "default.htm"<br />
host2.AddDefault "default.html"<br />
host2.AddDefault "index.htm"<br />
host2.AddDefault "index.asp"<br />
host2.AddDefault "index.html"<br />
'httpd.Start<br />
else<br />
Shell.Quit 0<br />
end if<br />
'Set httpd = NetBox.CreateObject("NetBox.HttpServer")<br />
If httpd3.Create("", 82) = 0 Then<br />
Set host3 = httpd3.AddHost("127.0.0.3", "\web\")<br />
host3.Enables cript = true<br />
host3.AddDefault "default.asp"<br />
host3.AddDefault "default.htm"<br />
host3.AddDefault "default.html"<br />
host3.AddDefault "index.htm"<br />
host3.AddDefault "index.asp"<br />
host3.AddDefault "index.html"<br />
httpd1.Start<br />
httpd2.start<br />
httpd3.start<br />
else<br />
Shell.Quit 0<br />
end if<br />
End Sub<br />
Sub OnServiceStop()<br />
httpd1.Close<br />
httpd2.Close<br />
httpd3.Close<br />
End Sub<br />
Sub OnServicePause()<br />
httpd1.Stop<br />
httpd2.Stop<br />
httpd3.Stop<br />
End Sub<br />
Sub OnServiceResume()<br />
httpd1.Start<br />
httpd2.Start<br />
httpd3.Start<br />
End Sub</span></span></span></p>
<p><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 12pt">----------------------------------------------------------------<br />
以此内推，相信大家对照一下就能看明白！<br />
当中IP请自行更改，多个站点，若用的是花生壳，请改为花生壳域名。<br />
每处IP填写不同域名！！</span></span></span></p>
<p><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 12pt">最后在IE的访问地址如下：</span></span></span></p>
<p><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 12pt">(例)</span></span></span></p>
<p><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 域名&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 端口</span></span></span></p>
<p><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 12pt">站点一：127.0.0.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 80&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最后IE中要输入的地址：127.0.0.1</span></span></span></p>
<p><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 12pt">站点二：127.0.0.2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 81&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最后IE中要输入的地址：127.0.0.2:81</span></span></span></p>
<p><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 12pt">站点三：127.0.0.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 82&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最后IE中要输入的地址：127.0.0.3:82</span></span></span></p>
<p><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 12pt">除了设了80端口的站点，用域名访问时不需要加所设端口外，其它的都要加端口。</span></span></span></p>
<p><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 12pt">&nbsp;<br />
</span></p>
<p><span style="font-size: 12pt">大家复制以下代码,自已修改,或者下载本文章带的完整附件,然后进得更改.</span></p>
<p><span style="font-size: 12pt">-------------------------------------------------------------------------------------------</span></p>
<p><span style="font-size: 12pt">Dim httpd,host(10),i&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '有没看到我这边写着10,因为我下边网站列表里最后是10</span></p>
<p><span style="font-size: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '也就是说我在下边再添一个网站,那下边就多条11的,上边也要改成11<br />
Shell.Service.RunService "allyes", "同端口同时运行多站点的", "同端口同时运行多站点"<br />
'---------------------- Service Event ---------------------<br />
Sub OnServiceStart()<br />
Set httpd = CreateObject("NetBox.HttpServer") </span></p>
<p><span style="font-size: 12pt">If httpd.Create("", 80) = 0 Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '这是端口,这里默认为80<br />
Set host(0) = httpd.AddHost("192.168.0.1", "\001\")&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '这些是网站,现在总共列有11条,就是说,<br />
Set host(1) = httpd.AddHost("192.168.0.2", "\002\")&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '我当前运行了11个站点,输入域名就访问<br />
Set host(2) = httpd.AddHost("192.168.0.3", "\003\")&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '该处设置的目录里.<br />
Set host(3) = httpd.AddHost("192.168.0.4", "\004\")&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '为了方便,我写的是ip,大家自已改为域名<br />
Set host(4) = httpd.AddHost("192.168.0.5", "\005\")&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '每个域名都不一样,一个就代表一个站<br />
Set host(5) = httpd.AddHost("192.168.0.6", "\006\")&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '001..002..003 这些是 网站所在目录<br />
Set host(6) = httpd.AddHost("192.168.0.7", "\007\")&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'set host(0)....set host(10) 这里大家认真<br />
Set host(7) = httpd.AddHost("192.168.0.8", "\008\")&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '看下就会明白,有几个站点就写到几了<br />
Set host(8) = httpd.AddHost("192.168.0.9", "\009\")&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '注:从0开始算一个<br />
Set host(9) = httpd.AddHost("192.168.0.10", "\010\")<br />
Set host(10) = httpd.AddHost("192.168.0.11", "\011\")<br />
For i=0 to Ubound(host)<br />
host(i).EnableScript = true&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '以下是网页访问顺序,请自行设置修改<br />
host(i).AddDefault "default.asp"<br />
host(i).AddDefault "default.htm"<br />
host(i).AddDefault "default.html"<br />
host(i).AddDefault "index.asp"<br />
host(i).AddDefault "index.htm"<br />
host(i).AddDefault "index.html"<br />
Next<br />
httpd.Start <br />
Else<br />
Shell.Quit 0<br />
End If<br />
End Sub<br />
Sub OnServiceStop()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; httpd.Close<br />
End Sub<br />
Sub OnServicePause()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; httpd.Stop<br />
End Sub<br />
Sub OnServiceResume()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; httpd.Start<br />
End Sub<br />
</span></p>
</span></span>
<img src ="http://www.blogjava.net/xiaofeng/aggbug/171339.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaofeng/" target="_blank">傅晓风</a> 2007-12-28 22:22 <a href="http://www.blogjava.net/xiaofeng/articles/171339.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>tomcat访问日志详细配置教程</title><link>http://www.blogjava.net/xiaofeng/articles/171337.html</link><dc:creator>傅晓风</dc:creator><author>傅晓风</author><pubDate>Fri, 28 Dec 2007 14:16:00 GMT</pubDate><guid>http://www.blogjava.net/xiaofeng/articles/171337.html</guid><wfw:comment>http://www.blogjava.net/xiaofeng/comments/171337.html</wfw:comment><comments>http://www.blogjava.net/xiaofeng/articles/171337.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaofeng/comments/commentRss/171337.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaofeng/services/trackbacks/171337.html</trackback:ping><description><![CDATA[<p><span><span style="font-size: 14pt"><span style="font-size: 12pt">老大说这次要分析tomcat的访问日志，用来做用户访问记录什么的，好，开干。<br />
可是&#8230;&#8230;</span></span></span></p>
<span><span style="font-size: 14pt"><span style="font-size: 12pt">网上没有多少资料<br />
找到Apache去，终于找到一点英文资料，贡献于下，翻译的不好，见谅啊<br />
<br />
最近需要配置tomcat访问日志，通过造访他人的博客，再根据apache官方的一些文章，才逐渐清晰了许多<br />
配置方法很简单：在server.xml里的&lt;host&gt;标签下加上<br />
</span></span></span><span><span style="font-size: 14pt"><span style="font-size: 12pt">&lt;Valve className="org.apache.catalina.valves.AccessLogValve"<br />
directory="logs" prefix="localhost_access_log." suffix=".txt"<br />
pattern="common" resolveHosts="false"/&gt;<br />
就可以了，下面咱们逐一分析各个参数。<br />
<br />
</span></span></span>
<table style="width: 586px; height: 363px" border="1">
    <tbody>
        <tr>
            <td><span><span style="font-size: 14pt"><span style="font-size: 12pt">className&nbsp; </span></span></span></td>
            <td><span><span style="font-size: 14pt"><span style="font-size: 12pt">官方文档上说了This MUST be set to <strong>org.apache.catalina.valves.AccessLogValve</strong> to use the default access log valve. &amp;&lt;60; 想配置访问日志？这就必须得写成这样。<br />
            <br />
            </span></span></span></td>
        </tr>
        <tr>
            <td><span><span style="font-size: 14pt"><span style="font-size: 12pt">directory&nbsp;<br />
            </span></span></span></td>
            <td><span><span style="font-size: 14pt"><span style="font-size: 12pt">这个东西是日志文件放置的目录，在tomcat下面有个logs文件夹，那里面是专门放置日志文件的，当然你也可以修改，我就给改成了D:\</span></span></span></td>
        </tr>
        <tr>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">prefix</span></span></span></td>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">这个是日志文件的名称前缀，我的日志名称为localhost_access_log.2007-09-22.txt，前面的前缀就是这个localhost_access_log</span></span></span></td>
        </tr>
        <tr>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">suffix</span></span></span></td>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">这就是后缀名啦，可以改成别的<br />
            </span></span></span></td>
        </tr>
        <tr>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">pattern<br />
            </span></span></span></td>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">这个是最主要的参数了，具体的咱们下面讲，这个参数的内容比较丰富。<br />
            </span></span></span></td>
        </tr>
        <tr>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">resolveHosts</span></span></span></td>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">如果这个值是true的话，tomcat会将这个服务器IP地址通过DNS转换为主机名，如果是false，就直接写服务器IP地址啦<br />
            </span></span></span></td>
        </tr>
    </tbody>
</table>
<span><span style="font-size: 14pt"><span style="font-size: 12pt">还有一些参数：<br />
</span></span></span>
<table style="width: 585px; height: 268px" border="1">
    <tbody>
        <tr>
            <td><code><span><span style="font-size: 14pt"><span style="font-size: 12pt">rotatable</span></span></span></code></td>
            <td><span><span style="font-size: 14pt"><span style="font-size: 12pt">默认为true，默认的设置使得你的tomcat生成的文件命为prefix（前缀）+.+时间（一般是按天算）+.+suffix（后缀），参照我的日志名就知道了：localhost_access_log.2007-09-22.txt<br />
            使用这个需要谨慎，因为你将其设置为false的话，tomcat会忽略时间，不会新生成文件，最后导致你的文件超级大，这样生成的文件名就是：localhost_access_log.txt</span></span></span></td>
        </tr>
        <tr>
            <td><code><span><span style="font-size: 14pt"><span style="font-size: 12pt">condition</span></span></span></code></td>
            <td><span><span style="font-size: 14pt"><span style="font-size: 12pt">这个参数不太实用，可以设置任何值，比如咱们设置成condition="tkq"，那么只有当<tt>ServletRequest.getAttribute</tt>("tkq")为空的时候，才会被记录下来</span></span></span></td>
        </tr>
        <tr>
            <td style="vertical-align: top"><code><span><span style="font-size: 14pt"><span style="font-size: 12pt">fileDateFormat</span></span></span></code></td>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">最后的一个参数，很明白，这就是时间格式嘛，但是这个时间格式是针对日志文件起作用的，还记得咱们生成的日志文件全名么：localhost_access_log.2007-09-22.txt，这里面的2007-09-22就是这么来的，如果你想让tomcat每小时生成一个日志文件，也很简单，将这个值设置为：<code>fileDateFormat="</code><tt>yyyy-MM-dd.HH"，当然也可以按分钟生成什么的，自己改改吧</tt> </span></span></span></td>
        </tr>
    </tbody>
</table>
<span><span style="font-size: 14pt"><span style="font-size: 12pt">上面是所有的9个参数，刚才咱们说了，</span></span></span><code><span><span style="font-size: 14pt"><span style="font-size: 12pt">pattern这个参数的值比较多，咱们拿下来单独说：<br />
pattern可以设置成两种方式，第一种是pattern="common"，第二种是pattern="combined"<br />
这就可以控制日志里面的格式，各位说了，pattern就这两种？common和combined又是什么意思，具体是什么格式呢？<br />
别着急，咱们一点一点看，其实pattern是可以设置的，common和combined只是集成了一些显示方式，就是将显示方式给组合了，pattern的实际值有如下几种，都是</span></span></span></code><code><span><span style="font-size: 14pt"><span style="font-size: 12pt"><code>后面</code><code>一个字母，</code><code>前面</code></span></span></span><code><span><span style="font-size: 14pt"><span style="font-size: 12pt">一个%百分号<br />
咱们先贴出来我的日志里面的一条记录，对应着看<br />
<br />
127.0.0.1 192.168.254.108 - -1 127.0.0.1 HTTP/1.1 - GET 80&amp;&lt;60; GET /rightmainima/leftbott4.swf HTTP/1.1 304 5563A67708646B6AA299C33D59BE132A [22/Sep/2007:10:08:52 +0800] - /rightmainima/leftbott4.swf localhost 0 0.000<br />
</span></span></span></code></code><br />
<code><code><br />
</code></code>
<table style="width: 576px; height: 707px" border="1">
    <tbody>
        <tr>
            <td><code><span><span style="font-size: 14pt"><span style="font-size: 12pt">%a&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></span></span></code></td>
            <td><span><span style="font-size: 14pt"><span style="font-size: 12pt"><code><code>这是记录访问者的IP，在日志里是</code></code><code>127.0.0.1</code></span></span></span></td>
        </tr>
        <tr>
            <td><code><code><span><span style="font-size: 14pt"><span style="font-size: 12pt">%A</span></span></span></code></code></td>
            <td><span><span style="font-size: 14pt"><span style="font-size: 12pt"><code><code>这是记录本地服务器的IP</code></code><code><code>，在日志里是</code></code><code>192.168.254.108</code><code></code></span></span></span></td>
        </tr>
        <tr>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">%b<br />
            </span></span></span></td>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">这是发送信息的字节数，不涵括http头，如果字节数为0的话，显示为-<br />
            </span></span></span></td>
        </tr>
        <tr>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">%B<br />
            </span></span></span></td>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">看tomcat的解释，没看出来与b%的区别，但我这里显示为-1，没想明白，望知道者告知，我把官方解释贴出来吧 Bytes sent, excluding HTTP headers </span></span></span></td>
        </tr>
        <tr>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">%h<br />
            </span></span></span></td>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">这个就是服务器名称了，如果resolveHosts为false的话，这里就是IP地址了，我的日志里是<code>127.0.0.1</code></span></span></span></td>
        </tr>
        <tr>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">%H<br />
            </span></span></span></td>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">访问者使用的协议，这里是<code>HTTP/1.1</code></span></span></span></td>
        </tr>
        <tr>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">%l<br />
            </span></span></span></td>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">这个也不太清楚，官方也说这个always return '-' 官方解释：Remote logical username from identd (可能这样翻译：记录浏览者进行身份验证时提供的名字)(always returns '-') </span></span></span></td>
        </tr>
        <tr>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">%m<br />
            </span></span></span></td>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">访问的方式，是GET还是POST，我这是GET<br />
            </span></span></span></td>
        </tr>
        <tr>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">%p<br />
            </span></span></span></td>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">本地接收访问的端口，呵呵，我这里是80啦<br />
            </span></span></span></td>
        </tr>
        <tr>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">%q<br />
            </span></span></span></td>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">比如你访问的是aaa.jsp?bbb=ccc，那么这里就显示?bbb=ccc，明白了吧，这个q是querystring的意思</span></span></span></td>
        </tr>
        <tr>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">%r<br />
            </span></span></span></td>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">官方解释：First line of the request (method and request URI)，不是很明白 </span></span></span></td>
        </tr>
        <tr>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">%s<br />
            </span></span></span></td>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">这个是http的状态，我这里返回的是304，咱们经常看见访问某个网页报错误500什么的，那也会返回500<br />
            </span></span></span></td>
        </tr>
        <tr>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">%S<br />
            </span></span></span></td>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">用户的session ID,这个session ID大家可以另外查一下详细的解释，反正每次都会生成不同的session ID<br />
            </span></span></span></td>
        </tr>
        <tr>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">%t<br />
            </span></span></span></td>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">这就是时间啦，好像有一个Common Log Format可以改，不过我没找到</span></span></span></td>
        </tr>
        <tr>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">%u<br />
            </span></span></span></td>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">得到了验证的访问者，否则就是"-"<br />
            </span></span></span></td>
        </tr>
        <tr>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">%U<br />
            </span></span></span></td>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">访问的URL地址，我这里是<code>/rightmainima/leftbott4.swf</code></span></span></span></td>
        </tr>
        <tr>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">%v<br />
            </span></span></span></td>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">服务器名称，可能就是你url里面写的那个吧，我这里是localhost<br />
            </span></span></span></td>
        </tr>
        <tr>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">%D<br />
            </span></span></span></td>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">官方解释：Time taken to process the request, in millis，应该是访问发生的时间，以毫秒记 </span></span></span></td>
        </tr>
        <tr>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">%T<br />
            </span></span></span></td>
            <td style="vertical-align: top"><span><span style="font-size: 14pt"><span style="font-size: 12pt">官方解释：Time taken to process the request, in seconds，应该是访问发生的时间，以秒记</span></span></span></td>
        </tr>
    </tbody>
</table>
<p><br />
<br />
<span><span style="font-size: 14pt"><span style="font-size: 12pt"><code><code>common的值：</code></code><code>%h %l %u %t %r %s %b</code><br />
<code><code>combined的值：</code></code><code>%h %l %u %t %r %s %b %{Referer}i %{User-Agent}i</code> <br />
<br />
至于combined的值的最后两个为什么会这样，我也不太清楚&#8230;<br />
<br />
这就是所有的参数了，欢迎交流探讨！<br />
这是官方的解释地址：http://tomcat.apache.org/tomcat-5.5-doc/config/valve.html<br />
这个也可以看一看做参考：http://tomcat.apache.org/tomcat-5.0-doc/config/logger.html<br />
还有这个：</span></span></span><a href="http://tomcat.apache.org/tomcat-5.0-doc/config/host.html"><span><span style="font-size: 14pt"><span style="font-size: 12pt">http://tomcat.apache.org/tomcat-5.0-doc/config/host.html</span></span></span></a></p>
<p><span><span style="font-size: 14pt"><span style="font-size: 12pt">Apache官方对Tomcat访问日志的配置介绍的并不详细，大家可以参考Apache（web server）的访问日志，两者有相当多相似的地方</span></span></span></p>
<img src ="http://www.blogjava.net/xiaofeng/aggbug/171337.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaofeng/" target="_blank">傅晓风</a> 2007-12-28 22:16 <a href="http://www.blogjava.net/xiaofeng/articles/171337.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>