2010-07-22 6 views
5

Ich führe einen WCF-Dienst als Windows-Dienst. Ich habe Probleme Log4net zu bekommen, um jede tatsächliche Protokollierung zu tunLog4Net mit WCF läuft als Dienst

In was app.config sollte ich meinen Konfigurationscode für log4net legen.

Der Service-Host app.config den Service app.config oder die zugrunde liegenden Methoden, die der Service aufruft?

-b

+2

Eine Sache, die ich tue, ist, eine log4net-Konfigurationsdatei zu verwenden und sie direkt zu laden, anstatt zu versuchen, app.config zu verwenden. Aber meine Vermutung ist der Service Host app.config wäre derjenige, der verwendet wird. – AaronLS

+0

Können Sie die Details angeben, die Sie tun würden? Ein Link würde ausreichen. Vielen Dank für Ihre schnelle Antwort. – bearrito

+2

Siehe diesen Teil im Link: XmlConfigurator.Configure (new System.IO.FileInfo (args [0])); Natürlich könnten Sie args [0] durch einen Dateipfad ersetzen. http://logging.apache.org/log4net/release/manual/configuration.html – AaronLS

Antwort

1

Ich habe wie dies in Design-Fragen laufen, wenn ich mein eigenes Logging-System zu schreiben. Eine app.config für eine DLL-Assembly wird nicht geladen. Die ausführbare Datei für Ihre App/Dienst/etc. ist was lädt und ignoriert die DLL-Konfiguration. Sie müssen entweder Ihren eigenen Lese-/Schreib-/Lade-/etc-Konfigurationscode implementieren oder einfach alle Konfigurationswerte in die app.config des Dienstes setzen (viel bessere Idee, wenn möglich).

+1

Ja, ich habe das getan. Platzieren des gesamten log4net-Konfigurationscodes im Service sowie des Service-Hosts .config. Es scheint auch nicht abzuholen. – bearrito