Wir haben ein paar langlebige Objekte jeder Klasse im System. Es sind nur etwa 5 oder 6 und sie sind Verbindungen zu externen Systemen. Ich möchte, dass jede dieser Instanzen ihre eigene Datei hat, an die sie sich anmelden können.
Was ist der beste Weg, dies zu tun? Ich sehe nur Logger programmatisch als die Antwort jetzt hinzufügen.
UPDATE: Ich möchte vermeiden, die Konfigurationsdatei zu verwenden, denn wenn ich eine neue Verbindung zu einem anderen Remote-Host hinzufüge, möchte ich, dass die Protokollausgabe zu einer Datei geht, die nach der Verbindung benannt ist, ohne zuerst in einer Konfigurationsdatei herumhacken zu müssen. Es wäre schön, wenn es automatisch gemacht würde. Ich weiß nicht, vielleicht kann dies in einer Konfigurationsdatei einmal erreicht werden und Sie müssen es nicht jedes Mal bearbeiten.
Die beste Antwort ist die programmatische Protokollierung, ich habe das gleiche Problem durchgespielt und es als einzige Lösung gefunden.
Für mehr Hilfe überprüfen Sie diese Frage (meins) StackOverFlow Frage von mir gepostet
und ich ding deins und mein Problem sind die gleichen, dynamische Logger, re erstellen Logger, entsorgen Logger und all diese Sachen zur Laufzeit:)
wenn noch irgendwelche fragen, fragen sie, wird froh sein zu helfen, da ich all das durchgemacht habe:)
Ich kann tatsächlich ein paar Möglichkeiten sehen:
Ich habe einen Artikel, der helfen könnte:
Hier geht es darum, eine Logdatei zur Laufzeit zu ändern. Sie können den Dateinamen für jede Instanz in Ihre log4net-Datei eingeben. Auf diese Weise können Sie eine Protokolldatei für jede Instanz Ihrer Klasse erstellen.
Wie bei Ihrer Bearbeitung, dass Sie keine Konfigurationsdatei verwenden möchten, löst diese Methode dieses Problem, sodass Sie eine Konfigurationsdatei verwenden können, aber dennoch die gewünschte Flexibilität haben.