2

我有一个使用 log4j 的大耳朵,并且有一个用于设置它的配置文件。在这个配置文件中没有提到某些日志文件,但是除了配置文件中指定的文件之外的其他文件会在日志文件夹中生成。我搜索了 (logger|log4j|log).(properties|xml) 的其他组合,但在耳朵中包含的所有 jar 文件中都没有发现任何有希望的东西。我如何追踪创建这些额外文件的有问题的线程/类?

4

4 回答 4

3

尝试在 File 类的构造函数以及 mkdir 和 createNewFile 方法中放置一个断点。通常,代码将使用 File 类来创建其文件或目录。您的 JVM 中应该包含这些类的 Java 源代码。

于 2008-09-15T18:49:00.237 回答
3

添加-Dlog4j.debug到命令行,标准输出中将有关于如何配置的额外信息。

于 2008-09-15T19:27:25.730 回答
0

正式的 SysInternal,现在是 Microsoft 的 Process Explorer http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

“查找”菜单项 -> “查找句柄或 DLL...”

于 2008-09-15T18:01:59.600 回答
0

SysInternals 可能对 Java 类 IO 没有帮助。尝试在写入这些日志时获取 JVM 的线程转储(例如,kill -3)。您应该能够在堆栈跟踪顶部附近使用 java.io 包捕获线程。

于 2008-09-15T18:11:48.937 回答