定义日志格式
[root@node3 ~]# vim /usr/local/apache-tomcat-9.0.52/conf/server.xml
....
....
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
========================= 定义日志格式 开始================================
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".log"
pattern="%h %l %u %t "%r" %s %b" />
========================= 定义日志格式 结束================================
</Host>
</Engine>
</Service>
</Server>
参数详解:
className:官方说明必须按照默认配置不可更改。
directory:日志文件位置。
prefix:日志文件前缀。
suffix:日志文件后缀。
pattern:日志模式参数,设置参数很丰富,参数说明见下表。
resolveHosts:如果这个值是true的话,tomcat会将这个服务器IP地址通过DNS转换为主机名,如果是false,就直接写服务器IP地址。
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 - 处理请求的时间,以秒为单位
定义日志等级和日志位置目录
[root@node3 ~]# vim /usr/local/apache-tomcat-9.0.52/conf/logging.properties
1catalina.org.apache.juli.AsyncFileHandler.level = FINE ===>日志等级
1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs ===>日志位置
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina. ===>日志开头符
1catalina.org.apache.juli.AsyncFileHandler.maxDays = 90
1catalina.org.apache.juli.AsyncFileHandler.encoding = UTF-8 ===>字符集
2localhost.org.apache.juli.AsyncFileHandler.level = FINE
2localhost.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost.
2localhost.org.apache.juli.AsyncFileHandler.maxDays = 90
2localhost.org.apache.juli.AsyncFileHandler.encoding = UTF-8
3manager.org.apache.juli.AsyncFileHandler.level = FINE
3manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
3manager.org.apache.juli.AsyncFileHandler.prefix = manager.
3manager.org.apache.juli.AsyncFileHandler.maxDays = 90
3manager.org.apache.juli.AsyncFileHandler.encoding = UTF-8
4host-manager.org.apache.juli.AsyncFileHandler.level = FINE
4host-manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager.
4host-manager.org.apache.juli.AsyncFileHandler.maxDays = 90
4host-manager.org.apache.juli.AsyncFileHandler.encoding = UTF-8
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter
java.util.logging.ConsoleHandler.encoding = UTF-8
日志等级
Log level Description
SEVERE:(highest) Captures exception and Error
WARNING:Warning messages
INFO:Informational message, related to the server activity
CONFIG: Configuration message
FINE:Detailed activity of the server transaction (similar to debug)
FINER:More detailed logs than FINE
FINEST:(least) Entire flow of events (similar to trace)