Weblogci自定义日志格式.doc_第1页
Weblogci自定义日志格式.doc_第2页
Weblogci自定义日志格式.doc_第3页
Weblogci自定义日志格式.doc_第4页
Weblogci自定义日志格式.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Weblogci自定义日志格式设置方法(weblogic 6.1以上适用)1.启用和设置HTTP Access Logs找到当前server, TAB菜单选择Logging选择二级菜单中的HTTP选中Enable Logging的checkbox设置Logfile文件,如果需要按日期来access_%yyyy%_%MM%_%dd%.logFormat设置为common 或extended,用到自定义一定要用extendedRotation type:选择为date重命名时间为Rotation time设置为2007-04-13-00:00:00日期可以随便输主要是时间要设置好设置好后按apply,重启服务2.创建 Fields 指令日志文件的第一行必须包含用于声明日志文件格式的版本号的指令。还必须在文件的开头附近包含 Fields 指令: #Version: 1.0 #Fields: xxxx xxxx xxxx .其中,每个 xxxx 描述了要记录的数据字段。字段类型可指定为简单标识符,或采用前缀标识符格式(在 W3C 规范中定义)。示例如下: #Fields: date time cs-method cs-uri此标识符会指示服务器记录事务的日期和时间、客户端使用的请求方法和每个 HTTP 访问请求的 URI。每个字段都以空格进行分隔,并且每条记录都会写入一个新行(追加到日志文件)。 注意:在日志文件中,#Fields 指令后面必须为一个新行,以便第一条日志文件消息不会追加到同一行。 支持的字段标识符 以下标识符是受支持的,不需要前缀。 date 完成事务的日期,字段类型为 (在 W3C 规范中定义)。 time 完成事务的时间,字段类型为 (在 W3C 规范中定义)。 time-taken 完成事务所需的时间,以秒为单位,字段类型为 (在 W3C 规范中定义)。 bytes 已传输的字节数,字段类型为 。 请注意,WebLogic Server 不支持 W3C 规范中定义的 cached 字段。 以下标识符需要前缀,不能单独使用。对于受支持的前缀组合,将单独进行介绍。 IP 地址相关字段: 这些字段将提供正在进行请求的客户端或正在进行响应的服务器的 IP 地址或端口。这些字段的类型为 (在 W3C 规范中定义)。受支持的前缀如下: c-ip 客户端的 IP 地址。 s-ip 服务器的 IP 地址。 DNS 相关字段 这些字段提供客户端或服务器的域名,字段类型为 (在 W3C 规范中定义)。受支持的前缀如下: c-dns 正在进行请求的客户端的域名。 s-dns 被请求的服务器的域名。 sc-status 响应的状态代码,如表示“找不到文件”状态的 (404)。此字段的类型为 (在 W3C 规范中定义)。 sc-comment 随状态代码返回的注释,如“找不到文件”。此字段的类型为 。 cs-method 请求方法,例如 GET 或 POST。此字段的类型为 (在 W3C 规范中定义)。 cs-uri 完整的被请求 URI。此字段的类型为 (在 W3C 规范中定义)。 cs-uri-stem 仅为 URI 的资源部分(忽略查询)。此字段的类型为 (在 W3C 规范中定义)。 cs-uri-query 仅为 URI 的查询部分。此字段的类型为 (在 W3C 规范中定义)。 3.创建自定义字段标识符还可以创建将包含在使用扩展日志格式的 HTTP 访问日志文件中的用户定义的字段。要创建自定义字段,请使用 Fields 指令标识 ELF 日志文件中的字段,然后创建一个可生成所需输出的匹配 Java 类。可为每个字段创建单独的 Java 类,或创建可输出多个字段的 Java 类。有关这样一个类的 Java 源代码示例,请参阅用于创建自定义 ELF 字段的 Java 类。 要创建自定义字段,请执行下列操作: 1. 使用以下形式,将字段名包含在 Fields 指令中:x-myCustomField.其中,myCustomField 是完全限定的类名。 有关 Fields 指令的详细信息,请参阅创建 Fields 指令。 2. 创建一个与使用 Fields 指令定义的自定义字段具有相同完全限定类名的 Java 类(例如 myCustomField)。此类会定义要记录在自定义字段中的信息。该 Java 类必须实现以下接口: weblogic.servlet.logging.CustomELFLogger在您的 Java 类中,必须实现 logField() 方法,该方法将 HttpAccountingInfo 对象和 FormatStringBuffer 对象作为其参数: 使用 HttpAccountingInfo 对象可访问那些可在自定义字段中输出的 HTTP 请求和响应数据。已提供了 Getter 方法来访问此信息。有关这些 get 方法的完整列表,请参阅 HttpAccountingInfo 对象的 Get 方法。 使用 FormatStringBuffer 类可创建自定义字段的内容。已提供了相应的方法来创建合适的输出。有关这些方法的详细信息,请参阅 FormatStringBuffer 的 Javadocs。 3. 编译该 Java 类并将该类添加到用于启动 WebLogic Server 的 CLASSPATH 语句。您可能需要在用于启动 WebLogic Server 的脚本中修改 CLASSPATH 语句。注意:请不要将此类放入展开格式或 jar 格式的 Web 应用程序或企业应用程序内部。4. 将 WebLogic Server 配置为使用扩展日志格式。有关详细信息,请参阅使用扩展日志格式设置 HTTP 访问日志。 注意:编写用于定义自定义字段的 Java 类时,请不要执行可能会降低系统运行速度的任何代码(例如,访问 DBMS 或执行大量的 I/O 或网络调用)。请记住,HTTP 访问日志文件条目是针对每一个 HTTP 请求创建的。注意:如果要输出多个字段,请使用制表符分隔这些字段。有关分隔字段和其他 ELF 格式问题的详细信息,请参阅 Extended Log Format。HttpAccountingInfo 对象的 Get 方法 以下方法可返回有关 HTTP 请求的各种数据。这些方法类似于 javax.servlet.ServletRequest、javax.servlet.http.Http.ServletRequest 和 javax.servlet.http.HttpServletResponse 的各种方法。 4.示例:示例1:format使用extended格式(未用自定义格式字段)1.启用http access log, :format设置为extended2.在对应的log文件中加入第一行加入#Version: 1.0#Fields: c-ip date time cs-method cs-uri sc-status bytes重启后访问可看到日志为 2007 10:11:50 GET /index.jsp 200 409示例2: 用自定义格式字段1. 启用http access log, :format设置为extended2. 在对应的log文件中加入第一行加入#Version: 1.0#Fields: x-MyCustomField要以x-开头,MyCustomField是类名3.编写MyCustomField.java文件,必须在顶层包中import weblogic.servlet.logging.CustomELFLogger;import weblogic.servlet.logging.FormatStringBuffer;import weblogic.servlet.logging.HttpAccountingInfo;/* * author 邓胜宇 * 1.0 */public class MyCustomField implements CustomELFLogger /* (non-Javadoc) * see weblogic.servlet.logging.LogField#logField(weblogic.servlet.logging.HttpAccountingInfo, weblogic.servlet.logging.FormatStringBuffer) * 格式为ip logname datetime methodurl user-agent code length * - 2007-04-18 17:02:04 GET /js/common.js HTTP/1.1 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) 200 81 */public void logField(HttpAccountingInfo metrics,FormatStringBuffer buff) java.text.SimpleDateFormat sd = new java.text.SimpleDateFormat(yyyy-MM-dd HH:mm:ss);buff.appendValueOrDash(metrics.getRemoteAddr();if(metrics.getRemoteUser()!=null & !.equals(metrics.getRemoteUser().trim()buff.appendValueOrDash( +metrics.getRemoteUser();elsebuff.appendValueOrDash( -);String datetime = sd.format(java.util.Calendar.getInstance().getTime();buff.appendValueOrDash( +datetime);buff.appendValueOrDash( +metrics.getMethod()+ +metrics.getRequestURI()+ +metrics.getProtocol()+);buff.appendValueOrDash( +metrics.getHeader(User-Agent)+);buff.appendValueOrDash( +metrics.getResponseStatusCode();buff.appendValueOrDash( +metrics.getResponseContentLength();4.在启动weblogic文件的classpath加入MyCustomField类所在目录重启后访问可看到日志为 - 2007-04-18 17:30:11 GET /services/commons/style.css HTTP/1.1 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) 200 80235. 配置Awstats日志分析器AWStats的运行模式是这样的: 分析日志:运行后将这样的日志统计结果归档到一个AWStats的数据库(纯文本)里; 然后是输出:分两种形式 一种是通过cgi程序读取统计结果数据库输出; 一种是运行后台脚本将输出导出成静态文件; 以下是2个针对单个站点日志统计例子:一个是在GNU/Linux上通过CGI方式的输出,一个是在Windows 2000上的基于静态页面的导出1.安装AwstatsAWStats是perl语言书写的程序,所以必选先安装ActivePerl(for win32)程序。1、安装ActivePerlPerl 5.8 (必须5.2或更高,awstats是用perl写的),下载zip压缩包,解压缩之后,运行Installer.bat。输入要安装的目录,如 D:Perl接下来的基本上一路回车就可以了。当询问输入Apache的路径的时候,如果没有的话,请输入:none。最后按照提示,输入:return 结束Perl安装程序。测试是否安装成功命令窗口输入perl v 可看到安装的版本号,如果没有说明没安装成功。2、安装AWStats在安装以前会检测环境变量path中是否包含perl所在的目录(如刚才安装后的路径D:Perlbin)。如果path中没有的perl路径的话,AWStats会弹出消息,可以选择跳过(skip),但为了保证以后使用的方便,推荐将perl.exe所在目录添加到path中。安装结尾的时候,会提示是否新建一个配置文件,选择是(y),输入要统计的站点的名字,如其他没有什么需要注意的地方。2.在tomcat中使用Awstats1、设置weblogic的http access log(见Weblogci自定义日志格式设置方法),awstats是日志分析工具,只要指定日志文件就可以了,关键是它的配置。2、启动tomcat中的CGI功能修改tomcat的配置文件%TOMCAT_HOME%/conf/web.xml,让tomcat可以支持cgi脚本取消这段servlet的配置文件的注释 cgi org.apache.catalina.servlets.CGIServlet clientInputTimeout 100 debug 6 cgiPathPrefix WEB-INF/cgi 5 取消这段servlet mapping的配置文件的注释 cgi /cgi-bin/* 配置完tomcat的web.xml文件,找到tomcat的安装目录下server/lib/servlet-cgi.renametojar文件,将它该名为servlet-cgi.jar。这样tomcat就可以支持cgi。3、部署awstats拷贝并改名 awstats/wwwroor/cgi-bin 目录到 你的 /WEB-INF/cgi 目录把 /WEB-INF/cgi/awstats.model.conf 改名为 common.conf将common.conf作为默认配置文件,然后在自定义的配置文件引入,这样配置省很多事情。然后建立并编辑awstats.$你的域名.conf 文件,添加以下几个配置项。Include common.confLogFile=/home/tomcat/logs/access_log.%yyyy%mm%dd.logSiteDomain=$你的域名HostAliases=localhost DefaultFile=index.jspDirData=./data根据配置文件的配置,在当前目录建立一个空文件夹data 存放分析后的数据。拷贝awstats/wwwroor/icon 到 你WEB的 /icon4、开始分析日志运行一下awstatscd /opt/tomcat/webapps/localhost/WEB-INF/cgi/ ./awstats.pl -config=$你的域名 -update5、启动tomcat查看结果http:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论