最近、ログ機能を実装したいと考えています。ログ機能は、ログメカニズムTomcat
と非常によく似ています。私はちょうど、Tomcat
がどのように異なるWebアプリケーションが異なるロギング設定を持つことができるのかを知りたいと思っていますし、お互いの干渉を心配する必要はありません。前にGoogleによっていくつかの情報が見つかったので、Tomcatはクラスローダーを意識した独自のカスタムClassLoaderLogManager
を使用しています。そして私はこれを知っています。しかし、私自身の実験でClassLoaderLogManager.java
を変更してtomcat-juli.jar
を置き換えたとき、私はlogger.info("")
と呼んだとき、私のweb-appの導入されたログインターフェイスにはClassLoaderLogManager
との対話がなかったようです。だから私は実際にはTomcat
がこれをどうやって得るのか分からない。1つのJavaアプリケーションでクラスローダーによる異なるログ出力を実装する方法は?
さらに、1つのJavaアプリケーションで異なるクラスローダーによって異なるログ出力を実装したい場合はどうすればよいですか?
お返事ありがとうございました。この質問を読んで答えられる人はほとんどいませんが、私のような同じ状況の人々にいくつかのショートカットを与えるために、私はここでこの問題に私の最終的な解決策を与えています。私の期待に応えることの本質は、Tomcatのwebapp-classloaderの手順にあります。 webapp-classloaderは、JVMの親の委譲とは異なる、共通のlibのものに優先してリソースとクラスをロードします。 –