354 Stimmen

log4net vs. Nlog

Hat jemand Erfahrung mit beidem? Wie schneiden sie im Vergleich zueinander ab?

Wir planen, eines davon für die Protokollierung in einer Unternehmensanwendung zu verwenden.

Referenzen:

log4net

nlog

EDIT: Wir haben keine bestehenden Abhängigkeiten zu nlog oder log4net.

9voto

Nicholas Blumhardt Punkte 27718

Schamlose Werbung für ein Open-Source-Projekt, das ich betreibe, aber angesichts der lebhaften Diskussion darüber, welches .NET-Logging-Framework aktiver ist, dachte ich, ich würde einen obligatorischen Link zu Serilog .

Für die Verwendung innerhalb einer Anwendung ist Serilog ähnlich wie log4net (und basiert stark darauf). Im Gegensatz zu anderen .NET-Protokollierungsoptionen geht es bei Serilog jedoch darum, die Struktur von Protokollereignissen für die Offline-Analyse zu erhalten. Wenn Sie schreiben:

Log.Information("The answer is {Answer}", 42);

Die meisten Logging-Bibliotheken wandeln die Nachricht sofort in eine Zeichenkette um. Serilog kann das auch tun, aber es behält die { Answer: 42 } Eigenschaft, so dass Sie später mit einem der zahlreichen NoSQL-Datenspeicher Ereignisse auf der Grundlage des Wertes von Answer .

Wir stehen kurz vor einer 1.0 und unterstützen alle modernen Plattformen (.NET 4.5, Windows Store und Windows Phone 8).

8voto

eddycharly Punkte 81

Ich unterstütze NLog auch, weil es auch mit nicht verwaltetem Code funktioniert. Ich vermute, es könnte möglich sein, log4net und log4cxx zusammen zu verwenden, aber NLog verarbeitet sowohl verwalteten als auch nicht verwalteten Code von Haus aus.

Ich habe mir auch angesehen Common.Logging eine Fassade, die die Logging-Api abstrahiert, sie unterstützt log4net, NLog und Entreprise Library. Ich glaube nicht, dass ich es verwenden werde, aber ich mag, wie sie Lambdas verwenden, um die Leistung zu verbessern, wenn die Protokollierung deaktiviert ist (eine Funktion, die mit NLog und wahrscheinlich andere geteilt wird).

4voto

Rashack Punkte 4638

Sie könnten auch Folgendes in Betracht ziehen Microsoft Enterprise Library Protokollierungsblock . Es kommt mit schönen Designer.

2voto

tsimon Punkte 8182

Ich denke, der allgemeine Konsens ist, dass nlog ein bisschen einfacher zu konfigurieren und zu benutzen ist. Beide sind jedoch recht leistungsfähig.

0voto

Contango Punkte 70203

Aus meiner Erfahrung heraus, SmartInspect übertrifft sowohl NLog als auch log4net.

Es ist extrem einfach zu bedienen, die Dokumentation ist großartig, und Sie können bereits protokollierte Nachrichten anzeigen und filtern mit ihrem interaktiven Protokoll-Viewer, was in der Praxis einen großen Vorteil darstellt.

Eine Sache, die mir gefällt, ist die Ansicht der Daten in Registerkarten, ähnlich wie die Browser-Registerkarten in Chrome. Jede Registerkarte kann eine andere gefilterte Ansicht des Protokolls bieten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X