前次讨论了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

最新文章

  1. HTTP 的重定向301,302,303,307(转)
  2. Dimmer: 通过移动鼠标来改变 LED 的亮度
  3. windows svn 配置以及iis同步传送
  4. [Leetcode][JAVA] Path Sum I &amp;&amp; II
  5. POJ 1330 Nearest Common Ancestors(Targin求LCA)
  6. 关于Application Insights遥测功能使用【遇到问题】
  7. iOS 获取当前用户的用户路径并写入文件
  8. apache activemq的重连
  9. BNUOJ 26475 Cookie Selection
  10. EF中执行存储过程,获取output返回值
  11. AFNetworking (3.1.0) 源码解析 &lt;五&gt;
  12. Sprite Kit编程指南中文版下载
  13. try..catch..finally执行顺序return
  14. Japanese Learning - 五十音图
  15. 【学习】ie-css3.htc---让ie8以下支持css3
  16. dmraid 用法
  17. Lending Club—构建贷款违约预测模型
  18. Java开发笔记(一)第一个Java程序
  19. A1121. Damn Single
  20. jdbc连接Oracle连接字符串方法

热门文章

  1. c# 日常记录,(获取系统时间、return),一些文件隐藏无法引用,c#多个窗体之间传值
  2. 第九课——redis集群
  3. datasnap 关于lifecycle的问题
  4. 重点:怎样正确的使用QThread类(很多详细例子的对比,注意:QThread 中所有实现的函数是被创建它的线程来调用的,不是在线程中)good
  5. java基础05 选择结构
  6. Spring整合JUnit4进行AOP单元测试的时候,报:&quot;C:\Program Files\Java\jdk1.8.0_191\bin\java.exe&quot; -ea -Didea.test.cyclic.buffer.size=1048576 &quot;-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2018.3\lib\idea_rt.jar=64
  7. 软中断和tasklet介绍
  8. Win查询注册表获取CPU与内存参数
  9. 【Unity Shader编程】之十六 基于MatCap实现适于移动平台的“次时代”车漆Shader
  10. xadmin快速搭建一个后台管理系统