ApacheLog

背景

    • Apache 日志文件.
    • Apache 网页服务器的本地日志文件格式.
    • 通用变体为 Apache 通用日志和 Apache 访问日志.
    • 用于 MathLM,Wolfram 系统许可证管理器.
    • 纯文本格式.
    • 存储关于网页服务器交易的信息.
    • 以一行文本代表每条记录.
    • 允许用户定义的记录格式.

Import

  • Import["file","ApacheLog"] 导入一个 Apache 日志文件.
  • Import["file","ApacheLog"] 读取一个 Apache 日志文件并以表格的形式返回内容.
  • Import["file",{"ApacheLog",elem}] 从一个 Apache 日志文件中导入指定的元素.
  • Import["file",{"ApacheLog",{elem1,elem2,}}] 导入多个元素.
  • 当导入 Apache 日志文件,必须总是指明 "ApacheLog".
  • Import从文件导入
    CloudImport从云对象导入
    ImportString从字符串导入
    ImportByteArray从字节数组导入

Import 参数

  • Import 的通用参数:
  • "Elements" 该文件可用的参数和选项列表
    "Summary"文件摘要
    "Rules"所有可用参数的规则列表
  • 表示数据的参数:
  • "Data"以列表的列表形式表示的文件内容
  • 默认情况下,对于 Apache 日志文件,Import 使用 "Data" 参数.
  • 选择单个数据字段:
  • "Attachments"附加于信息的文件
    "ByteCount"返回客户端对象的字节大小
    "Date"交易的日期和时间,以字符串形式给出
    "Referrer"客户端报告的被引用的站点
    "RemoteHost"IP 地址或客户的主机名称
    "RemoteUser"客户端的用户 ID,由 HTTP 认证决定
    "RequestLine"以一个字符串形式表示的客户端请求,一般包含请求对象的路径和关于协议的信息
    "SessionID"识别用户会话的一个字符串
    "StatusCode"服务器返回用户的状态代码,定义在 HTTP 规范(RFC2616)
    "UserAgent"由客户端报告的浏览器识别

选项

  • Import 选项:
  • "DataFormat"Automatic格式规范,数据列表表示元素,分隔符表示一条记录
  • 如要导入一个自定义的日志格式,可用 "DataFormat" 指定每条记录的格式,作为数据元素和记录分隔符的一个组合.
  • Import 通用日志文件使用设置 "DataFormat"->{"RemoteHost"," ","ClientID"," ","RemoteUser"," " ,"Date"," \"","RequestLine","\" ","StatusCode"," " ,"ByteCount"}.
  • 访问日志文件的默认格式为
    {"RemoteHost"," ","ClientID"," ","RemoteUser"," " ,"Date"," \"","RequestLine","\" ","StatusCode"," " ,"ByteCount", " \"","Referrer","\" \"","UserAgent","\""}.

范例

基本范例  (1)

以记录列表的形式导入整个日志文件:

显示该文件可用的 Import 参数:

只读取日期字段:

读取所有服务器请求: