質問

私は log4j を使用する巨大な耳を持っており、それをセットアップするために使用される単一の構成ファイルがあります。この構成ファイルには特定のログ ファイルについての記述はありませんが、構成ファイルで指定されたファイルとは別に追加のファイルがログ フォルダーに生成されます。(logger|log4j|log).(properties|xml) の他の組み合わせを検索しましたが、ear に含まれるすべての jar ファイルで有望なものは見つかりませんでした。これらの余分なファイルを作成している問題のスレッド/クラスを追跡するにはどうすればよいですか?

役に立ちましたか?

解決

File クラスのコンストラクターと mkdir メソッドおよび createNewFile メソッドにブレークポイントを配置してみてください。通常、コードは File クラスを使用してファイルまたはディレクトリを作成します。これらのクラスの Java ソース コードが JVM に含まれている必要があります。

他のヒント

追加 -Dlog4j.debug コマンドラインに追加すると、その構成方法に関する追加情報が標準出力に表示されます。

正式には SysInternal のもの、現在は Microsoft の Process Explorerhttp://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

「検索」メニュー項目 -> 「ハンドルまたは DLL の検索...」

SysInternals は Java クラス IO には役に立たない可能性があります。これらのログが書き込まれている間に、JVM のスレッド ダンプ (kill -3 など) を取得してみてください。スタック トレースの先頭付近で、java.io パッケージに関するレッドハンドのスレッドを見つけることができるはずです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top