Java-Logger: Erstellen Sie die Datei mit Drehzahl + .log-suffix
Ich bin mit den Java-Logger in java.util.logging-Paket. Dies ist, wie erstelle ich den logger derzeit:
FileHandler fileHandler = new FileHandler(filePath, 5242880, 5, true);
fileHandler.setFormatter(new java.util.logging.Formatter() {
@Override
public String format(LogRecord logRecord) {
if(logRecord.getLevel() == Level.INFO) {
return "[INFO " + createDateTimeLog() + "] " + logRecord.getMessage() + "\r\n";
} else if(logRecord.getLevel() == Level.WARNING) {
return "[WARN " + createDateTimeLog() + "] " + logRecord.getMessage() + "\r\n";
} else if(logRecord.getLevel() == Level.SEVERE) {
return "[ERROR " + createDateTimeLog() + "] " + logRecord.getMessage() + "\r\n";
} else {
return "[OTHER " + createDateTimeLog() + "] " + logRecord.getMessage() + "\r\n";
}
}
});
logger.addHandler(fileHandler)
Nun, wenn mein logger Protokolle, erstellt es eine Datei mit der Endung .0,.1,.2 usw.). Ich würde es vorziehen, es zu sagen .0.log .1.log (etc). Ich kann nicht finden, wo ich einstellen kann das. Irgendwelche Ideen /Hilfe wäre toll.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie bauen Ihre
fileHandler
Objekt, ändernfilePath
zu verwenden Muster. Erstellen Sie eine Muster, macht Gebrauch von der%g
Komponente. Diese Komponente wird dann zur Laufzeit ersetzt werden mit der Nummer der generation zu unterscheiden gedreht Protokolle.Beispiel
An Stelle log-Datei im temp-Verzeichnis des Systems mit der form
%TEMP%/mylog.1.log
verwenden Sie das folgende Muster:Erstes argument an die FileHandler ist eine Datei, die beschriebenen Muster in der top-level-Klasse-Dokumentation. Wenn Sie nur einen Dateinamen ohne ein Muster der FileHandler wird zurückgreifen müssen, um das Anhängen der Generierung der Datei-name, so dass es drehen kann zwischen den Dateien. Wenn die Generationen Aufeinanderprallen, weil mehrere JVM-Instanzen gleichzeitig laufen die FileHandler können, hängen Sie eine eindeutige Zahl an den Dateinamen.
Erzeugen einer Datei Muster so etwas wie die folgenden:
Generiert diese Dateien in Ihrem home-Ordner mit dem Namen jvm0.log, jvm1.log, jvm2.melden, und so weiter.