【问题标题】:In tomcat server.xml, can AccessLogValve be defined for service element在tomcat server.xml中,是否可以为服务元素定义AccessLogValve
【发布时间】:2020-07-22 02:55:52
【问题描述】:

除了写入访问日志之外,我有一个运行良好的 tomcat 服务器。 在 Server.xml 中,访问日志定义如下:

     <Server port="xxxx" shutdown="SHUTDOWN">
    <GlobalNamingResources>
            ----
     </GlobalNamingResources>
    <Service name="Catalina">
            <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="access." suffix=".log" pattern="common" resolveHosts="false"/>
            <Connector --- />
            <Connector --- />
            <Executor --- />
            <Engine name="Catalina" defaultHost="localhost">
                    <Realm ---/>
                    <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"></Host>
            </Engine>
    </Service>

我可以看到 accesslog 阀门是在服务标签下定义的,而不是在引擎、主机或上下文中按照常见的实现。这可能是服务器不写访问日志的原因吗

建议支持这一点的官方文档:https://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Access_Logs

【问题讨论】:

    标签: java tomcat logging server.xml


    【解决方案1】:

    从 server.xml 得到这条评论:

    “服务”是一个或多个“连接器”的集合,它们共享 单个“容器”注意:“服务”本身不是“容器”, 所以你不能在这个级别定义诸如“阀门”之类的子组件。 /docs/config/service.html 中的文档

    【讨论】:

    • 感谢您的确认。我改了,现在正在写
    猜你喜欢
    • 2015-10-14
    • 1970-01-01
    • 2015-01-07
    • 1970-01-01
    • 2012-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多