0

複数のコネクタを持つように Tomcat server.xml を構成しました。

   <Service name="Catalina">

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true"
           maxThreads="150" scheme="https" secure="true"
           keystoreFile="C:\somekey.keystore" keystorePass="mykeypass"
           clientAuth="false" sslProtocol="TLSv1" />
<Engine name="Catalina" defaultHost="localhost">
  <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
         resourceName="UserDatabase"/>
  <Host name="localhost"  appBase="webapps"
        unpackWARs="true" autoDeploy="true"
        xmlValidation="false" xmlNamespaceAware="false">

    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"  
           prefix="access_log." suffix=".txt" pattern='%h %l %u %t "%r" %s %b %p %D %S' resolveHosts="false"/>
  </Host>
</Engine>

<Engine name="CatalinaA" defaultHost="localhost">

  <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
         resourceName="UserDatabase"/>

  <Host name="localhost"  appBase="webappsA"
        unpackWARs="true" autoDeploy="true"
        xmlValidation="false" xmlNamespaceAware="false">

    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logsA"  
           prefix="access_log_A." suffix=".txt" pattern='%h %l %u %t "%r" %s %b %p %D %S' resolveHosts="false"/>

  </Host>
</Engine>

また、2 つの Web アプリケーションをデプロイしました。1 つは webapps (APPP1) に、もう 1 つは webappsA (APPP2) に配置しました。
これが私のlogging.propertiesです:

         handlers = 2APPP1.org.apache.juli.FileHandler, 3APPP2.org.apache.juli.FileHandler
    .handlers = 2APPP1.org.apache.juli.FileHandler, 3APPP2.org.apache.juli.FileHandler

    2APPP1.org.apache.juli.FileHandler.level = FINEST
    2APPP1.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
    2APPP1.org.apache.juli.FileHandler.prefix = APPP1.

    3APPP2.org.apache.juli.FileHandler.level = FINEST
    3APPP2.org.apache.juli.FileHandler.directory = ${catalina.base}/logsA
    3APPP2.org.apache.juli.FileHandler.prefix = APPP2.

    java.util.logging.ConsoleHandler.level = ALL
    java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

    ############################################################
    # Facility specific properties.
    # Provides extra control for each logger.
    ############################################################

    org.apache.catalina.core.ContainerBase.[Catalina].[/APPP1].level = INFO
    org.apache.catalina.core.ContainerBase.[CatalinaA].[/APPP2].level = INFO

    org.apache.catalina.core.ContainerBase.[Catalina].[/APPP1].handlers = 2APPP1.org.apache.juli.FileHandler
    org.apache.catalina.core.ContainerBase.[CatalinaA].[/APPP2].handlers = 3APPP2.org.apache.juli.FileHandler
            org.apache.catalina.level = WARNING

ログは異なるフォルダーに分けられます。アクセス ログは両方のアプリで問題ありませんが、Tomcat ログはすべてのアプリケーション リクエストを APPP1.log と APPP2.log ファイルの両方に記録しています。

4

3 に答える 3

1

次の行を含めます。

.handlers = 2APPP1.org.apache.juli.FileHandler, 3APPP2.org.apache.juli.FileHandler

これらのファイル ハンドラーの両方をルート ロガーに割り当てています。これらの各ファイル ハンドラに関連付けられたファイルは、デフォルトのロガーから出力を取得します (つまり、すべての出力)。

于 2013-08-14T21:16:41.987 に答える
0

ハンドラ = 2APPP1.org.apache.juli.FileHandler、3APPP2.org.apache.juli.FileHandler

.handlers = 2APPP1.org.apache.juli.FileHandler、3APPP2.org.apache.juli.FileHandler

ロガーは 2 回登録されているため、2 回呼び出されます。一度だけ登録してみてください。

于 2012-07-13T13:44:52.857 に答える
0

logging.properties をすべてのアプリの WEB-INF/classes に配置し、logging.properties を ApacheTomcat/conf/ ディレクトリから削除すると、すべてが魅力的に機能します。

于 2012-07-15T07:54:19.607 に答える