Tomcast サーバーにデプロイされる複数の Web アプリケーションがあります。
私の webapp の log4j.properties の 1 つで、次の Socket HUB アペンダーを追加して、ログがそのソケットに送信されるようにしました。
log4j.appender.SOCKET=org.apache.log4j.net.SocketHubAppender
log4j.appender.SOCKET.port=9999
log4j.appender.SOCKET.locationInfo=true
すべてが正常に展開されます。
私の 2 番目のアプリケーションの log4j.properties にも同じアペンダーがあります。
log4j.appender.SOCKET=org.apache.log4j.net.SocketHubAppender
log4j.appender.SOCKET.port=9999
log4j.appender.SOCKET.locationInfo=true
この 2 番目の Web アプリケーションを、最初の Web アプリケーションが既に含まれている tomcat サーバーに追加しようとすると、ログに「Port already in Use」エラーがスローされます。
ただし、2 番目のアプリケーションのポートを 9998 に変更すると、ログにエラーは表示されません。ここで言及されているポートは受信者のポートであるため、複数のアプリケーションが同じ受信者ポートを使用しても問題ありません。
または、Tomcat の log4j.properties でこのアペンダーを構成する必要がありますが、デプロイされるすべてのアプリケーションで構成する必要はありません。
高度な感謝