Ist es möglich, Platzhalter logger Namen in der log4net Konfiguration?
In meiner Anwendung verwende ich log4net, mit allen Arten der Erstellung einer eigenen logger-basierend auf Ihrem Typ, z.B. :
private static readonly ILog Log = LogManager.GetLogger(typeof(Program));
Als ich entwickle, lasse ich den root-logger auf DEBUG-so fangen alle log-Ausgabe von meinem code.
Jedoch eine Dritte Komponente verwendet auch das gleiche Konzept, aber ist das erzeugen 100s von log-Nachrichten pro Sekunde, von denen keines dem ich interessiert bin.
Ist es möglich, irgendeine Art von Verwendung von Platzhaltern nach in der logger-Konfiguration, zu zwingen, alle Ihre Logger zum loggen sich nur zu WARNEN, z.B. :
<logger name="com.thirdparty.*">
<level value="WARN"/>
</logger>
[Die genaue obigen Beispiel, mit einem * funktioniert nicht]
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie geben Sie einfach den Teil eines namespace, so dass er für alle Nachrichten, die in diesem namespace (einschließlich verschachtelter).
Hier ist das Beispiel, das ich oft benutze:
Zusätzlich würde ich empfehlen, das Handbuch zu Lesen. Es bietet eine Menge Erklärung. Zum Beispiel können Sie Lesen, über Logger-Hierarchie. Hier ist das Zitat von dort:
und auch:
Kannst du nicht tun das Gegenteil von dem, was Sie gefragt haben. Was ich meine ist einfach die default-log-Ebene an warnen und legen Sie dann die bestimmte Logger, die Sie definiert haben, zu DEBUGGEN.
Außerdem könnten Sie die Schwelle Ihres appender zu DEBUGGEN und haben die anderen appender gesetzt, die WARNEN.
Beispiel: