首页主机资讯Ubuntu Tomcat日志中如何记录访问信息

Ubuntu Tomcat日志中如何记录访问信息

时间2025-10-13 23:44:03发布访客分类主机资讯浏览646
导读:Ubuntu Tomcat配置访问日志记录步骤 1. 启用访问日志(修改server.xml) 访问日志的核心配置在Tomcat的server.xml文件中,需通过AccessLogValve阀门组件实现。操作步骤如下: 打开配置文件:s...

Ubuntu Tomcat配置访问日志记录步骤

1. 启用访问日志(修改server.xml)

访问日志的核心配置在Tomcat的server.xml文件中,需通过AccessLogValve阀门组件实现。操作步骤如下:

  • 打开配置文件:sudo nano ${ CATALINA_HOME} /conf/server.xml${ CATALINA_HOME} 为Tomcat安装目录,如/opt/tomcat)。
  • 定位< Host> 标签(通常在文件末尾),在其内部添加以下配置(若已有则取消注释):
    <
    Valve className="org.apache.catalina.valves.AccessLogValve" 
           directory="${
    catalina.base}
    /logs" 
           prefix="localhost_access_log." 
           suffix=".txt" 
           pattern="%h %l %u %t \"%r\" %s %b %{
    Referer}
    i %{
    User-Agent}
        i" 
           resolveHosts="false"/>
    
    
    • 关键参数说明
      • directory:日志存储路径(${ catalina.base} /logs为Tomcat默认日志目录,如/opt/tomcat/logs);
      • prefix:日志文件前缀(如localhost_access_log.,生成的文件名为localhost_access_log.2025-10-13.txt);
      • suffix:日志文件后缀(如.txt);
      • pattern:日志格式(详见下文“自定义日志格式”);
      • resolveHosts:是否解析主机名(设为false可提升性能,仅记录IP地址)。

2. 自定义访问日志格式

通过pattern属性可定义日志输出的字段,常用格式说明如下:

  • 基础格式common):%h %l %u %t \"%r\" %s %b(记录客户端IP、标识、用户、时间、请求、状态码、响应大小);
  • 详细格式combined):%h %l %u %t \"%r\" %s %b \"%{ Referer} i\" \"%{ User-Agent} i\"(在基础格式上增加引用页和User-Agent);
  • 自定义格式示例%h %l %u %t \"%r\" %s %b %D %{ User-Agent} i(增加请求处理时间%D,单位为毫秒)。

3. 配置日志轮转(避免日志过大)

为防止访问日志占用过多磁盘空间,需启用日志轮转功能:

  • 方式一:通过server.xml配置
    AccessLogValve中添加rotatable="true"(默认开启)和maxDays="30"(保留30天日志):
    <
        Valve className="org.apache.catalina.valves.AccessLogValve" 
           ... 
           rotatable="true" 
           maxDays="30"/>
    
    
  • 方式二:使用Logrotate工具(推荐)
    安装Logrotate:sudo apt-get install logrotate
    创建Tomcat专用配置文件:sudo nano /etc/logrotate.d/tomcat,添加以下内容:
    /opt/tomcat/logs/localhost_access_log.*.txt {
        
        daily
        rotate 7
        compress
        missingok
        notifempty
        create 640 tomcat tomcat
        sharedscripts
        postrotate
            /bin/kill -USR1 $(cat /opt/tomcat/temp/tomcat.pid 2>
        /dev/null) 2>
    /dev/null || true
        endscript
    }
    
    
    说明:每日轮转、保留7天、压缩旧日志、通过Tomcat PID发送信号触发日志切换。

4. 重启Tomcat使配置生效

完成上述配置后,重启Tomcat服务:

sudo systemctl restart tomcat

验证日志是否生成:tail -f ${ CATALINA_HOME} /logs/localhost_access_log.txt,访问Tomcat应用后,日志会实时输出访问信息。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu Tomcat日志中如何记录访问信息
本文地址: https://pptw.com/jishu/725277.html
怎样自定义Ubuntu Tomcat日志格式 如何通过日志分析Ubuntu Tomcat性能

游客 回复需填写必要信息