tomcataccess日志详解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
tomcataccess⽇志详解
配置在:/home/admin/wdetail/conf/tomcat-server.xml
开启⽇志将下⾯内容的注释去掉:
<valve classname="org.apache.catalina.valves.AccessLogValve" <="" div="" style="word-wrap: break-word;">
prefix="localhost_access_log." suffix=".log"
pattern="common" directory="${jboss.server.home.dir}/log"
resolveHosts="false" />
pattern 项的修改,可以改变⽇志输出的内容。
该项值可以为: common 与 combined ,这两个预先设置好的格式对应的⽇志输出内容如下:
common 的值: %h %l %u %t %r %s %b
combined 的值: %h %l %u %t %r %s %b %{Referer}i %{User-Agent}i
pattern的格式也可以⾃定义:
<valve classname="org.apache.catalina.valves.AccessLogValve" <="" div="" style="word-wrap: break-word;">
prefix="localhost_access_log." suffix=".log"
pattern="%{X-Real-IP}i %a %l %u %D %t %r %s %b %{Referer}i %{User-Agent}i" directory="${jboss.server.home.dir}/../logs" resolveHosts="false" />
这⾥log的路径可以更改:directory="${jboss.apphome.dir}/logs"
jboss.apphome.dir这个变量必须要到jbossctl⾥去定义,加到JAVA_OPTS⾥⾯去:
JAVA_OPTS="${JAVA_OPTS} -Djboss.apphome.dir=$BASE_HOME"
碰到问题,jboss记录的ip不是真实ip,需要在nginx上配置下:
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
pattern的详细说明
%a 远端IP
%A 本地IP
%b 发送的字节数,不包含HTTP头,如果为0,使⽤”-”
%B 发送的字节数,不包含HTTP头
%h 远端主机名(如果resolveHosts=false),远端的IP
%H 请求协议
%l 从identd返回的远端逻辑⽤户名,总是返回’-’
%m 请求的⽅法
%p 收到请求的本地端⼝号
%q 查询字符串
%r 请求的第⼀⾏
%s 响应的状态码
%S ⽤户的sessionID
%t ⽇志和时间,使⽤通常的log格式
%u 认证以后的远端⽤户(如果存在的话,否则为’-’)
%U 请求的URI路径
%v 本地服务器的名称
%D 处理请求的时间,以毫秒为单位
%T 处理请求的时间,以秒为单位
参数/选项说明:
className: 实现的java类名,必须设置成org.apache.catalina.valves.AccessLogValve;
directory: 存放⽇志⽂件的⽬录;
pattern: 需要记录的⽇志信息的格式布局,如果是”common”或者”combined”,说明是使⽤的标准记录格式,也有⾃定义的格式,下⾯会详细说明;
prefix: ⽇志⽂件名的前缀,如果没有指定,缺省值是”access_log.;(要注意后⾯有个⼩点);
resolveHosts: 将远端主机的IP通过DNS查询转换成主机名,设为true。
如果为false,忽略DNS查询,报告远端主机的IP地址;
sufix: ⽇志⽂件的后缀名。
(sufix=”.log”);也需要注意有个⼩点;
rotatable: 缺省值为true,决定⽇志是否要翻转,如果为false则永不翻转,并且忽略fileDateFormat,谨慎使⽤。
condition: 打开条件⽇志
fileDateFormat:允许在⽇志⽂件名称中使⽤定制的⽇期格式。
⽇志的格式也决定了⽇志⽂件翻转的频率。
如果想每⼩时翻转⼀次,可以定义为“yyyy-MM-dd.HH”;。