Wie kann ich log4net so einstellen, dass meine Dateien jeden Tag in verschiedenen Ordnern gespeichert werden?
- Ich wollen speichern Sie alle Protokolle, die während jedes Tages im Ordner mit dem Namen JJJJMMTT - log4net behandeln soll, erstellen neue Ordner, je nach system datetime - wie kann ich dies einrichten?
- Ich wollen speichern Sie alle Protokolle, die während des Tages auf n-Dateien von 1MB - ich will nicht neu schreiben die alten Dateien, aber um wirklich alle Protokolle, die während einem Tag - wie kann ich dies einrichten?
Ich bin usin C#
Grüße
Alex
InformationsquelleAutor der Frage halex | 2010-03-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Probieren (sollte Es OK sein!):
Wird es erstellt ein logfile namens 'logs\2010\04\02.inf.log' (lassen Datum 2010-04-02)
InformationsquelleAutor der Antwort he_king
Danke an Euch alle.
Wir erstellten SortByFolderFileAppender, die Erben von RollingFileAppender
Beispiel Ergebnis:
irgendwo\Logs\20100305\Client-104615.0
InformationsquelleAutor der Antwort halex
Ich glaube, Sie können erstellen Sie Ihre eigenen appender, basierend auf der
FileAppender
Klasse. Möglicherweise müssen Sie das überschreiben derOpenFile
Methode, um eine Datei in der richtigen Position.InformationsquelleAutor der Antwort Kerido
Könnten Sie die rollinglogfileappender die Dateien erstellt, benannt nach Datum und startet eine neue Datei um Mitternacht. Dann schreiben Sie einfach ein Skript, das Sie bewegt, um eine korrekte Karte an der 00.01.
Als für die Protokollierung aller Dateien, die während eines Tages mit maximal 1 MB pro Datei, hier ein Beispiel:
InformationsquelleAutor der Antwort Carra
Bauen aus der Antwort oben mit dem SortByFolderFileAppender.
Dies ist, wie wir das Problem gelöst mit Rollen Datum für die log-Dateinamen. Ich habe die staticLogFileName auf true, damit der gesamte Dateiname übergeben wird in der OpenFile-Methode.
Wenn der Dateiname endet auf ".log" dann muss nichts mehr angefügt werden. Ich vermute, irgendeine Art von Verriegelung aufgetreten ist, und ich will log4net zu versuchen, mit den gleichen Namen wieder, in der Hoffnung der vorherigen Sperre freigegeben wurde.
Obwohl, ich bin mir nicht sicher, ob dies das verursacht eine unendliche Aufruf OpenFile wenn die Datei gesperrt ist und nicht loslassen. Wir haben die Erstellung eines web service mit dem producer-consumer-pattern-log-alles in einem Ort von allen Anwendungen in das system, das derzeit zehn und wächst.
Brauchen wir nicht zu zählen log4net in eine der anderen Anwendungen, aber wir brauchen zu erstellen eine web-client-Klasse, die ist zugänglich von allen Anwendungen verwenden, für die Anmeldung an den web-service.
Das Ergebnis für die mit dem Namen "Logs\Client\2017\11\08.log" und natürlich jeden Tag ändert.
Änderung der Konfiguration von oben.
InformationsquelleAutor der Antwort kdahl