Ich habe alle meine Anwendung Transaktion mit Log4net protokolliert. Gibt es eine Möglichkeit, die Protokollierung von einem allgemeinen Ort aus zu deaktivieren und zu aktivieren, ohne den für die Protokollierung geschriebenen Code zu ändern.So aktivieren/deaktivieren Sie die Protokollierung mit Log4net
Antwort
Ich nehme an, Sie möchten die Anmeldung in Ihrer laufenden Anwendung durch Code umschalten. Ich habe es nicht ausprobiert, aber ich denke, dass die folgende Methode aufrufen Protokollierung deaktivieren sollte:
LogManager.GetRepository().ResetConfiguration();
wieder aktivieren Anmeldung würden Sie
XmlConfigurator.Configure();
(oder einer der anderen Methoden der XmlConfigurator
) nennen .
Allerdings scheint es eine issue mit dem Aufruf der Configure
Methode wiederholt. Ich weiß nicht, ob das ein Problem für Sie wäre, aber zumindest habe ich Sie gewarnt ...
+1 Im Gegensatz zu den anderen Antworten schließt dieser Dateien Dateien, die der Logger geöffnet hält. –
Das hat mir geholfen ... – Pritam
Sie können sie ausschalten, indem Sie die log4net Config-Datei ändern. Ändern Sie den Pegel des Appenders oder den globalen Pegel speziell auf "OFF". Siehe here für Details
Log-Ebenen sind auf dem Logger definiert, nicht der Appender. Appender können Ebenenfilter verwenden. Es kann auch sein, dass ein Root-Logger Level OFF hat, aber ein Child Logger protokolliert immer noch etwas. –
Ja, sicher, aber die Idee ist immer noch durch eine Konfigurationsdatei, nicht Code. – Kamarey
Fair genug. Ich habe den Eindruck, dass dies nicht das ist, was das OP verlangt ... –
Angenommen, ich verstehe Ihre Frage, aus der FAQ: http://logging.apache.org/log4net/release/faq.html
Wie vollständig deaktiviere ich alle zur Laufzeit anmelden?
Wenn Sie den Schwellenwert für die Hierarchie auf Level OFF setzen, wird die gesamte Protokollierung von dieser Hierarchie deaktiviert. Dies kann in der log4net-Konfigurationsdatei erfolgen, indem das Attribut "threshold" des log4net-Konfigurationselements auf "OFF" gesetzt wird. Zum Beispiel:
- 1. So aktivieren Sie die Protokollierung von IP-Adressen mit Log4Net
- 2. Quartz.Net - Gemeinsame Protokollierung mit log4net
- 3. Protokollierung von InnerException mit Log4Net
- 4. Log4net beendet die Protokollierung nach dem Zufallsprinzip.
- 5. Log4Net nicht Protokollierung Fehler
- 6. Beseitigen Sie doppelte Protokollierung in log4net
- 7. Spring.Net Protokollierung mit Log4Net funktioniert nicht
- 8. Log4net Protokollierung funktioniert nicht mit parallelen Threads
- 9. ASP.NET-Protokollierung - log4net oder Zustandsüberwachung?
- 10. log4net Protokollierung erstellt keine Protokolldatei
- 11. Gemeinsame Protokollierung log4net file-watch
- 12. So aktivieren Sie die Protokollierung von Ehcache
- 13. log4net zentralisierte Protokollierung für mehrere Komponenten
- 14. So verschlüsseln Sie log4net-Protokolldateien
- 15. Log4net Protokollierung nicht funktioniert - asp.net Mvc
- 16. Ändern Sie die Protokollierung "print" -Funktion zu "tqdm.write" so Protokollierung stört nicht mit Fortschrittsbalken
- 17. Muster für die Protokollierung mit Enterprise-Bibliothek
- 18. So deaktivieren Sie die Protokollierung in Scrapy (Python)
- 19. .net Protokollierung mit Eventid Unterstützung
- 20. Welche anderen Alternativen zur log4net-Protokollierung gibt es?
- 21. Wie vorübergehend Log4net-Protokollierung für Perf-Tests deaktivieren?
- 22. Python Protokollierung - Deaktivieren Sie die Protokollierung von importierten Module
- 23. WCF-Protokollierung mit Protokollierung Anwendungsblock
- 24. Web.config Transformation mit log4net
- 25. Protokollierung/Fehler in einem appender benutzerdefinierten log4net Handhabung
- 26. Log4net mit SyslogAppender, 1kb Nachrichtenlimit
- 27. WCF Protokollierung/Ablaufverfolgung und Aktivität ID-Propagierung mit log4net oder NLog
- 28. Windows-Dienst läuft mit Log4Net
- 29. Wie gespeicherte proc in log4net-Konfiguration für SQL Server für die Protokollierung verwenden
- 30. Multithread sichere Protokollierung
Meinst du wie in der app.config? – Mark
durch web.config – saknet