Es fällt mir schwer, Dokumentation zu den verschiedenen 'in the box'-Mustern wie
zu finden %Vor%Es gibt natürlich die Beispielseite , aber ich bin mir nicht sicher, ob das die vollständige Liste ist von Optionen.
Ich weiß auch, dass es möglich ist, MDC-Parameter von der App zum Logger zu übertragen, aber das beinhaltet eine Codeänderung, die ein anderes ist als eine Konfigurationsänderung.
Gibt es eine Option %machineName
oder machineIP
? Das Problem ist, dass sich alle unsere Server in der Webfarm im selben Datenbankprotokoll anmelden und wir denken jetzt, dass eine unverhältnismäßig große Anzahl von Nachrichten von einer Maschine kommt.
Worüber ich gerade gestolpert bin ist
%Vor% und das scheint zu funktionieren --- wundern Sie sich, was der Unterschied zwischen diesem und den anderen vorgeschlagenen Optionen ist. wie %property{log4net:HostName}
Erstellen Sie eine Klasse, die den Computernamen erhält:
%Vor%Dann setzen Sie Ihre log4net-Konfiguration wie folgt:
%Vor%Ich mag diesen Ansatz, da er wiederverwendet werden kann und ich die Informationen so verwalten kann, wie ich möchte. Wenn Sie beispielsweise die IP-Adresse protokollieren möchten, tun Sie dasselbe und erstellen Sie den Konverter wie folgt:
%Vor%Weitere Informationen über den Link: Ссылка
Sehen Sie sich die PatternString-API an. Es sieht so aus, als müssten Sie dies tun Verwenden Sie% property in Ihrem Muster. Sehen Sie sich auch diesen Artikel an müssen den Computernamen beim Start der Anwendung in den globalen Kontext einfügen.
Mit dieser Antwort Ссылка zum Hinzufügen von GlobalContext-Eigenschaften konnte ich das zum Laufen bringen.
Ich habe den folgenden Code in meine Klassendatei eingefügt:
%Vor%Und dann kann ich in der Konfigurationsdatei den Hostnamen referenzieren und es erscheint
%Vor%Hoffe, das hilft.
Tags und Links log4net pattern-layout