ASP 3.0高级编程(二十八)

2016-01-29 19:14 1 1 收藏

ASP 3.0高级编程(二十八),ASP 3.0高级编程(二十八)

【 tulaoshi.com - ASP 】

  6.2.11  Logging Utility组件
       Logging Utility组件是ASP 3.0的新组件,提供了访问日志文件的方法,这个日志文件是由服务器支持的用于Web和FTP网站的IIS创建的。
1.  Logging Utility组件的成员
Logging Utility组件提供了六种方法,能读取日志文件的内容、把新记录写进已存在的日志文件中。这些方法和上一章讨论的FileSystemObject对象的方法有相似性,如表6-9所示:
表6-9  Logging Utility组件的方法及说明
方 法
说 明

AtEndOfLog()
用ReadLogRecord方法遍历记录时,如果文件中的所有记录都已读出,返回值为True

CloseLogFiles(io_mode)
关闭打开的日志文件,io_mode的值指定要关闭的文件,常数ForReading(1)表示关闭打开供读出的所有文件, ForWriting(2)表示关闭打开供写入的所有文件,AllOpenFiles(32)表示关闭打开的所有文件

OpenLogFile(filename,io_mode,
service_name,service_instance,
output_format)
打开filename指定的日志文件或日志文件集,可选的io_mode参数可以设置成ForReading(缺省值,1)或 ForWriting(2)。当读取取一个特定的IIS服务(例如“W3SVC”和“1”)时,可选的service_name和 service_instance参数限制从文件中返回的记录。可选的output_format参数指明写入文件时使用的格式  

ReadFilter(start,end)
当在规定的时间和日期范围内读取文件时,限制返回的记录,两个参数都是可选的,如果忽略的话,start是文件的第一个记录,end是最后一个记录

ReadLogRecord()
从用OpenLogFile方法打开的当前日志文件中读取下一个记录

WriteLogRecord(logging_object)
从打开供读出的文件中把记录写入一个打开供写入的文件中,参数logging_object是一个引用保存源记录的 Logging Utility组件实例的对象变量

Logging Utility组件提供了二十种与IIS日志记录相对应的属性,如表6-10所示:
表6-10  Logging Utility组件的属性及说明
属 性
说 明

BytesReceived
请求时从浏览器收到的字节数

BytesSent
响应时送至浏览器的字节数

ClientIP
客户机或其主机(即代理服务器)的IP地址

Cookie
在请求中传送的cookie内容

CustumFields
加到请求中的定制报头的一个数组

DataTime
请求的日期和时间(GMT)

Method
操作类型,如“Get”和“Post”

ProtocolStatus
返回到客户机的状态消息,即“200 OK”

ProtocolVersion
协议版本字符串,如“HTTP/1.1”

Referer
包含初始化请求链接的网页的URL

ServerIP
IIS机器的IP地址

ServerName
IIS服务器的机器名

ServerPort
请求到达的端口号,如“80”

ServiceName
服务器名称,如“MSFTPSVC”或“W3SVC”

TimeTaken
检索和创建网页的总处理时间

URIQuery
请求中加到URL的查询字符串中的所有参数

URIStem
请示的目标URL

UserAgent
由客户机发送的用户代理字符串

UserName
如果不是匿名地访问服务器,UserName是用户的登录名

Win32Status
处理了请求后返回的Win32状态码

2.  使用Logging Utility组件
Logging Utility组件最普遍的应用是用于对日志文件的自定义查询。从现有文件中选择一些记录写入新文件的能力,意味着能够汇总某些类型的条目,或者有选择性地挑出一些记录将来使用。
为了使用ForReading、ForWriting和AllOpenFiles常数,必须在网页的<HEAD部分包含METADATA指令。
<!-- METADATA TYPE="typelib" FILE="C:WINNTsystem32inetsrvlogscrpt.dll" --
为了遍历记录,仅须打开文件并且重复调用ReadLogRecord,直到AtEndOfLog的返回值为True。在下面的例子中将过滤记录,仅获得最后24小时以内的记录。
'Create the component instance
Set objLogUtil = Server.CreateObject("MSWC.IISLog")

'open the log file for reading, for the W3SVC instance number 1
objLogUtil.OpenLogFile "extend#.log", ForReading, "W3SVC", 1, 0

'set a filter for the last day's records only
objLogUtil.ReadFilter DateAdd("d", -1, Now), Now

'loop through the records
Do While Not objLogUtil.AtEndOfLog
   objLogUtil.ReadLogRecord  'read the next record
   Response.Write "Request received for page " & objLogUtil.URLStem & " on " _
              &n

来源:https://www.tulaoshi.com/n/20160129/1508830.html

延伸阅读
标签: ASP
  第6章          活动服务器组件 在前几章中,我们已经研究了两类不同的对象:一类是ASP对象模型的内置部分,另一类是脚本运行期库提供的对象。本章将介绍第三类能用于ASP的对象,取名为活动服务器组件(或者就称为服务器组件)。 这些组件在很多场合下就如同在浏览器或在像Visual Ba...
标签: ASP
  6.2.10  Tools组件        Tools组件提供了一些有用的方法,可在页面中检查文件是否存在、处理一个HTML窗体、以及产生一个随机整数,还有用于Macintosh计算机的一些方法,还可以检查是否存在某个服务器插件以及检查用户是否是网站的拥有者。 1.  Tools组件的成页 Tools组件提...
标签: ASP
  1.    操作HTTP报头 我们已经在几处见到ASP如何创建或修改在响应页面请示时被发送到客户的HTTP报头。在Response对象中有几个属性和方法可帮助我们做到一点。下面是一些报头方法: · 控制缓存和有效期。 · 创建状态和定制的HTTP报头。 · 指定MIME类型或内容类型。 · 添加PICS标签。 接下来将简要地研究每一个方...
标签: ASP
  第3章 ASP应用程序与会话 在前面的章节中介绍了ASP提供的访问一个客户请求和产生响应的方法,本章将讨论ASP的另两个对象。就是Application和 Session对象。这两个对象不是直接地与请求和响应的管理有关,而是更多地与ASP网页运行环境的管理相关。 与建立Web站点或Web应用程序有关的共同问题之一,是使用HTTP协议时没有状态。...
标签: ASP
  2.  创建Variant数组 在Session和Application对象中创建和使用一个Variant数组来存储值的方法目前尚未讨论,在这里作为一个非常有用的技术进行讨论。正如已经看到的那样,一个Variant数据类型可以包含一个数组,而不仅仅是一个值。 一个数组只是在内存的一个连续区域中以指定的次序存储二进制值的一个长行。要安排Variant,...

经验教程

570

收藏

20
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部