我有一个传统的PSVM应用程序,我想将其日志记录输出重定向到每次执行的唯一文件.所以,如果我在10:00调用它,那么让它将它的输出重定向到{thread-id} -10:00.log; 另一个执行线程可以在10:01开始执行,其输出将转到{thread-id} -10:01.log.我明白这不优雅.
我的问题是:
谢谢!
我将从FileAppender开始,并从中派生来创建您自己的。只需修改您的版本即可获取当前线程 ID,并在创建之前将合适的线程 ID/时间戳附加到文件中。您将维护(比方说)以线程 id 为键的(缓冲的) FileWriters映射。
编写追加器非常简单 -这里有一个关于如何做到这一点的Javaworld 指南。
在上面的内容中,您的程序是否有可能在一分钟内启动两次?您想附加一个进程 ID 或类似的内容以保持唯一性吗?