我有一个遗留的日志记录类。它有一个静态 Logger 引用(名为 logger)和一堆静态方法。
每个方法都接受一个字符串输入并将其写入 System.out.println 并在 logger 不为空时写入 logger。
它有一个初始化记录器的构造函数。但是这个构造函数只有包范围,我很确定它不会在任何地方被调用。因此 logger 始终为 null 并且该类基本上只执行 System.out.println
我想更改它,以便它可以在多线程应用程序中使用,其中每个线程都写入自己唯一的 FileAppender。
这就是我卡住的地方。
基本上,我想做的是让这个静态类与一堆不同的 log4j FileAppender 相关联。每个 FileAppender 都可以由 Thread 创建,文件名可以从 Thread 已知的唯一信息中导出。
我不知道该怎么做是神奇地使用 Log4j 将该线程的唯一 FileAppender 传达给这个遗留日志记录类。
想法?提示?建议?
标记