Log4Net Konfiguration in eine plugin-dll?
Wir haben ein plugin, das verteilt wird, mit Drittanbieter-software (auch mit unserer eigenen software) Unser plugin ist in C# geschrieben und enthält einige log4net-logging. In unserer eigenen software haben wir eine .exe.config enthält unsere log4net Abschnitt und erlaubt die Konfiguration. Aber auf der Dritten Seite sind wir nicht in der Lage, dies zu tun.
Irgendwelche Vorschläge, wie kann ich es konfigurieren von innerhalb des Codes? (Vorausgesetzt er hat nicht bereits konfiguriert ist, in die Falle unserer eigenen software)?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das log4net-Umgebung ist vollständig konfigurierbar programmgesteuert.
Ist es möglich, es zu tun, aber IMHO ist es nicht eine gute Idee. Es ist die Anwendung, nicht die Bibliotheken, der entscheidet, ob/wie/Wann/wo/was zu melden. Bibliotheken sollten nur bieten logging-Unterstützung (Sie dies bereits tun).
verwenden
und erstellen Sie eine externe log4net config-Datei
wie
Während ich Stimme mit Mauricio Scheffer Antwort im Allgemeinen, gibt es Fälle, wo die DLL zu melden, bevor die Haupt-Anwendung. In meinem Fall, ich implementiert eine SOAP-extension-Klasse in eine DLL zu Protokoll SOAP-Anfragen und-Antworten für ASMX-web-service. Da die soap-Erweiterung ist in einer DLL, die ausgeführt wird, bevor die web-Methode der Ausführung, log4net müssen programmgesteuert konfiguriert werden, die in der DLL. Aber jeder web-Dienst enthält seine eigenen log4net.config-Datei, die die DLL benötigt, um suchen und laden zu konfigurieren log4net programmgesteuert.
War meine Lösung zum hinzufügen einer Methode, um zu bestimmen, um die Lage der DLL ausgeführt
und dann im Konstruktor meiner DLL zu laden, die Konfiguration programmgesteuert