Tomcat 配置日志
Server.xml
Tomcat目录下的conf目录下找 server..xml文件 找到。
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="access_log." suffix=".txt"
rotatable="true"
pattern="common" resolveHosts="false"
fileDateFormat="yyyy-MM-dd"/>
属性详解
Access Log Valve用来创建日志文件,格式与标准的web server日志文件相同。可以使用用日志分析工具对日志进行分析,跟踪页面点击次数、用户会话的活动等。Access Log Valve的很多配置和行为特性与File Logger相同,包括每晚午夜自动切换日志文件。Access Log Valve可以和任何Catalina容器关联,记录该容器处理的所有请求。
Access Log Valve支持如下配置属性:
pattern属性值由字符串常量和pattern标识符加上前缀"%"组合而成。pattern标识符加上前缀"%",用来代替当前请求/响应中的对应的变量值。目前支持如下的pattern:
· %a - 远端IP地址
· %A - 本地IP地址
· %b - 发送的字节数,不包括HTTP头,如果为0,使用"-"
· %B - 发送的字节数,不包括HTTP头
· %h - 远端主机名(如果resolveHost=false,远端的IP地址)
· %H - 请求协议
· %l - 从identd返回的远端逻辑用户名(总是返回 '-')
· %m - 请求的方法(GET,POST,等)
· %p - 收到请求的本地端口号
· %q - 查询字符串(如果存在,以 '?'开始)
· %r - 请求的第一行,包含了请求的方法和URI
· %s - 响应的状态码
· %S - 用户的session ID
· %t - 日志和时间,使用通常的Log格式
· %u - 认证以后的远端用户(如果存在的话,否则为'-')
· %U - 请求的URI路径
· %v - 本地服务器的名称
· %D - 处理请求的时间,以毫秒为单位
· %T - 处理请求的时间,以秒为单位
Access Log Valve还可以记录cookie,消息头,Session或者ServletRequest中的信息。使用与apache类似的语法:
· %{xxx}i消息头
· %{xxx}c特定的cookie
· %{xxx}r xxx 是ServletRequest中的某个属性
· %{xxx}s xxx 是HttpSession中的某个属性
上面提到"common"模式(也是缺省的模式)实际上是"%h %l %u %t %r %s %b"的一种简单表示方法
"common"模式后面加上"Referer"和用户代理头(User-Agent headers)的信息,就是前面提到的"combined"模式。
"combined"模式比"common"记录更详细。
|
Tomcat 没有可以设置日志大小的地方,但是再Tomcat(5.5)最新的版本的conf目录下有个logging.properties,可以配置日志参数,删除不需要的日志,或者自己调整记录级别。
Tomcat-users.xml设置
定义用户名和用户所属的角色,再安全性访问中起作用,如Basic,Form等加密方式