zoukankan      html  css  js  c++  java
  • Tomcat access log配置(二)

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

  • 相关阅读:
    JavaScript设计模式与开发实践
    ECMAScript 6入门
    时间管理微课程:值得永久收藏的25条时间管理技巧
    day14.生成器迭代器作业
    windows下创建MySQL定时备份与删除脚本
    day14.生成器进阶,推导式
    day13.装饰器进阶,迭代器
    day12.生成器;wraps初识
    day11.装饰器初识
    day10.函数升级
  • 原文地址:https://www.cnblogs.com/chrischennx/p/8120156.html
Copyright © 2011-2022 走看看