前次讨论了spring boot 中添加Tomcat access log 是轻松愉快,配置文件中添加server.tomcat.accesslog即可,那么如果是外置的Tomcat容器又该如何配置呢?

配置

server.xml是Tomcat中最重要的配置文件,server.xml的每一个元素都对应了Tomcat中的一个组件;通过对xml文件中元素的配置,可以实现对Tomcat中各个组件的控制。access log也是在server.xml中配置的。

位于:Server.Service.Engine.Host.Valve结点。

节点的配置说明

  • className 是访问日志的实现类,可以为org.apache.catalina.valves.AccessLogValve,也可以是org.apache.catalina.valves.ExtendedAccessLogValve
  • directory 是访问日志的转出目录
  • **prefix **是日志文件的文件名前缀
  • suffix是日志文件的文件名后缀
  • fileDateFormat是设置滚动生成文件的格式,如yyyy-MM-dd是每天滚动生成新日志文件,yyyy-MM-dd.HH是每小时滚动生成新的日志文件。
  • rotatable是设置是否滚动生成日志文件,默认置是true
  • pattern是设置日志的格式
  • encoding是设置日志文件的字符编码
  • conditionIf是设置是否生成访问日志,若其值为xxx,当request.getAttribute("xxx")不为空才生成访问日志
  • conditionUnless是设置否生成访问日志,若其值为xxx,当request.getAttribute("xxx")空才生成访问日志
  • buffered是设置是否缓存日志,默认值为true,当设置为false时,每个request都会立刻产生访问日志

pattern的配置与Valve的className值有关,常用的取值为:org.apache.catalina.valves.AccessLogValve,其配置参考:spring boot access log配置;其它有org.apache.catalina.valves.ExtendedAccessLogValve,其配置参考

实例

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="/home/admin/appname/logs" encoding="utf-8" prefix="access_log." fileDateFormat="yyyyMMdd" suffix=".log" pattern="%t [%I] %{X-Forwarded-For}i %a %r %s %D" />

然后会在directory指定目录下生成形如access_log.20171226.log的访问日志,并每天滚动日志。

参考

详解 Tomcat 配置文件server.xml http://www.importnew.com/26156.html

定制tomcat访问日志 http://blog.csdn.net/musa875643dn/article/details/51636417

Tomcat access log配置(二)的更多相关文章

  1. Tomcat access log配置

    在tomcat的access中打印出请求的情况可以帮助我们分析问题,通常比较关注的有访问IP.线程号.访问url.返回状态码.访问时间.持续时间. 在Spring boot中使用了内嵌的tomcat, ...

  2. apache server和tomcat集群配置二:垂直负载

    垂直负载就是同一个机器中的不同服务器之间的负载.跟水平负载(ip不一样的服务器之间的负载)的最大区别就是要修改tomcat的端口号,避免引起冲突. 还要注意apache中workers.propert ...

  3. Tomcat Access Log 的格式

    名称 含义 %a Remote IP address %A Local IP address %b Bytes sent, excluding HTTP headers, or ‘-‘ if zero ...

  4. tomcat access log 参数

    %a - 客户端IP地址 %A - 本机IP地址 %b - 发送字节数,不含HTTP头 如果为空是  '-' %B - 同上 %h - 客户端机器名 (如果connector的enableLookup ...

  5. Tomcat访问(access)日志配置

    在tomcat的access中打印出请求的情况可以帮助我们分析问题,通常比较关注的有访问IP.线程号.访问url.返回状态码.访问时间.持续时间. 最近在跟一个图片请求超时的问题,需要在项目的acce ...

  6. springboot中配置tomcat的access log

    在tomcat的access中打印出请求的情况可以帮助我们分析问题,通常比较关注的有访问IP.线程号.访问url.返回状态码.访问时间.持续时间. 在Spring boot中使用了内嵌的tomcat, ...

  7. 通过Nginx,Tomcat访问日志(access log)记录请求耗时

    一.Nginx通过$upstream_response_time $request_time统计请求和后台服务响应时间 nginx.conf使用配置方式: log_format main '$remo ...

  8. Servlet、Tomcat访问(access)日志配置、记录Post请求参数

    一.运行环境: Maven:3.5.2(点击下载) ,下载页 Tomcat:8.5.29(点击下载) ,下载页 JDK:jdk1.7.0_80(点击下载) ,下载页 MavenDependency: ...

  9. tomcat 和 jboss access log 日志输出详解

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt179 工作中nginx+jboss/tomcat反向代理集成,想打开后端jb ...

随机推荐

  1. elasticsearch的store属性 vs _source字段

    众所周知_source字段存储的是索引的原始内容,那store属性的设置是为何呢?es为什么要把store的默认取值设置为no?设置为yes是否是重复的存储呢? 我们将一个field的值写入es中,要 ...

  2. Spark 源码分析 -- RDD

    关于RDD, 详细可以参考Spark的论文, 下面看下源码 A Resilient Distributed Dataset (RDD), the basic abstraction in Spark. ...

  3. MetaClass

    它的作用主要是 指定由谁来创建类,默认是type #python3 class Foo(metaclass=MyType): pass #python2 class Foo(object): __me ...

  4. python - 安装/解释器/变量

    python的官网: https://www.python.org/ Python环境安装 Windows 安装https://www.python.org/downloads/windows/ Wi ...

  5. Hadoop 入门教程

    Hadoop 入门教程 https://blog.csdn.net/kkkloveyou/article/details/52348883

  6. 010-Hadoop Hive sql语法详解5-HiveQL与SQL区别

    1.Hive不支持等值连接 •SQL中对两表内联可以写成:•select * from dual a,dual b where a.key = b.key;•Hive中应为•select * from ...

  7. PAT 1041 Be Unique[简单]

    1041 Be Unique (20 分) Being unique is so important to people on Mars that even their lottery is desi ...

  8. MapReduce Unit Test

    以前用java写MR程序总不习惯写单元测试,就是查错也只是在小规模数据上跑一下程序.昨天工作时,遇到一个bug,查了好久也查出来.估计是业务逻辑上的错误.后来没办法,只好写了个单元测试,一步步跟踪,瞬 ...

  9. 5、RabbitMQ - Exchange之 fanout \ 【direct 关键字发送】 \ topic

    pytho系列之 RabbitMQ - Exchange几种模式 RabbitMQ中,所有生产者提交的消息都由Exchange来接受,然后Exchange按照特定的策略转发到Queue进行存储 Rab ...

  10. python字符串搜索

    python字符串字串查找 find和index方法 更多0 python 字符串 python 字符串查找有4个方法,1 find,2 index方法,3 rfind方法,4 rindex方法. 1 ...