1

Tomcat 6 のインスタンス内の個別のコンテキストで、localhost の下で複数の Jenkins インスタンスを実行しています。各アプリケーションに関連付けられたコンテキスト ロガーから読み取るようにファイル ハンドラーを構成しようとしています。ドキュメントによると:

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]

(コンテキストを適切に識別するために必要な微妙な「/」に注意してください)

これが完了したら、サーブレットが実行するすべての場所でログ メッセージを取得する必要があります。

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

Tomcat のドキュメントはこれを約束しています。

ただし、階層内のロガーが自動的にそれぞれの Web アプリケーションのルート JUL ロガーになるかどうかは明確ではありません。[Catalina].[localhost].[/webapp]

于 2013-10-09T02:22:28.087 に答える