1

我有多个 Jenkins 实例在 Tomcat 6 实例中的不同上下文下在 localhost 下运行。我正在尝试将文件处理程序配置为从与每个应用程序关联的上下文记录器中读取。根据文档:

A context is associated with the org.apache.catalina.core.ContainerBase.[enginename].[hostname].[path]

但是当我按如下方式附加 FileHandler 时,我没有得到任何输出。

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[ABC].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[ABC].handlers = 6ABC.org.apache.juli.FileHandler

我不是 Tomcat 方面的专家,所以我不确定是否可以将主机上每个 webapp 的日志分离到单独的文件中。这是 Tomcat、Jenkins 的限制还是我的配置错误?

4

1 回答 1

0

您至少需要修复:

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[ABC]

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/ABC]

(注意充分识别上下文所需的微妙“/”)

完成后,您绝对应该在 servlet 所在的任何位置获得日志消息:

getServletContext().log("Hi!");

Tomcat 文档确实承诺了这一点。

但是,尚不清楚层次结构中的 Loggers 是否会[Catalina].[localhost].[/webapp]自动成为其各自 webapp 的根 JUL 记录器。

于 2013-10-09T02:22:28.087 回答