Ich habe eine ältere PSVM-Anwendung, die ich ihre Logging-Ausgabe auf eindeutige Dateien pro Ausführung umleiten möchte. Also, wenn ich es um 10:00 Uhr aufrufe, dann lasse es seine Ausgabe nach {thread-id} -10: 00.log umleiten; und ein anderer Ausführungsthread kann eine Ausführung um 10:01 beginnen, und seine Ausgabe würde zu {thread-id} -10: 01.log gehen. Ich verstehe, dass das nicht elegant ist.dynamisch erstellen und zerstören Logging Appender
Meine Fragen sind:
- ist das möglich?
- hat jemand eine Idee, wie man sich nähert?
- ist es möglich, einen Appender zu löschen/zu löschen, wenn er nicht mehr benötigt wird?
Vielen Dank!
danke für die schnelle antwort! es ist nicht der Fall für einen Thread, es mehr als einmal zu tun. Aber dies ist nur ein Beispiel für Diskussionszwecke. Der Name würde auf Eindeutigkeit beschränkt sein. Irgendwelche Ideen zum Freigeben des Dateischreibers? –
+1 Gute Anleitung Link – WolfmanDragon
Re. loslassen. Ich denke, Sie sollten den Writer nach jeder Log-Nachricht löschen (um das Schreiben auf die Festplatte zu gewährleisten), und sorgen Sie sich nicht um die Freigabe. Lassen Sie die JVM alles nehmen. Es sei denn, du schreibst viele Threads und hast viele Dateien geöffnet. Dann möchten Sie vielleicht nur "n" Writer auf einmal geöffnet halten und einige schließen, wenn Sie nicht eingeloggt sind. Das kann jedoch zu etwas Thrashing führen :-) –