Was haben Sie in Ihrer log4net config? Hacks, Optimierungen, Beobachtungen?
Dies ist mein log4net config-Datei
<?xml version="1.0" encoding="utf-8" ?>
<log4net debug="true">
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
<filter type="log4net.Filter.LevelRangeFilter">
<acceptOnMatch value="true" />
<levelMin value="DEBUG" />
<levelMax value="FATAL" />
</filter>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-5p %5rms [%-17.17t] %-22.22c{1} %-18.18M - %m%n" />
</layout>
</appender>
<appender name="SmtpAppender" type="MySmtpClientSmtpAppender">
<to value="[email protected]" />
<from value="[email protected]" />
<subject value="Game Server Monitoring Failed!" />
<smtpHost value="smtp.x.com" />
<username value="admin" />
<password value="x" />
<bufferSize value="256" />
<lossy value="true" />
<evaluator type="log4net.spi.LevelEvaluator">
<threshold value="ERROR" />
</evaluator>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-5p %d [ThreadId: %t] Class:%c{1} Method:%M %nMESSAGE:%n%m%n%n" />
</layout>
</appender>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="Logs\\wwwlog" />
<appendToFile value="true" />
<datePattern value="yyyyMMdd" />
<maximumFileSize value="10MB" />
<!--<rollingStyle value="Date" />-->
<filter type="log4net.Filter.LevelRangeFilter">
<acceptOnMatch value="true" />
<levelMin value="INFO" />
<levelMax value="FATAL" />
</filter>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="MySmtpAppender" />
<appender-ref ref="RollingLogFileAppender" />
</root>
</log4net>
Bin ich etwas fehlt? Irgendwelche Tipps/Ratschläge zu verringern-log-Größe, die bei Beibehaltung der Klarheit, bessere conversion-Muster? Interessante hacks?
Bearbeiten: XMl-Datei nicht in den code-block.Die Aktualisierung. Alle sugggestions?
InformationsquelleAutor der Frage Cherian | 2009-03-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen Vorschlag für die RollingLogFileAppender ist die Verwendung der minimalen lockingModel. Mit dieser Einstellung wird die log-Datei ist nicht gesperrt, sondern es wird geöffnet und dann geschlossen, die für jeden Schreibvorgang.
InformationsquelleAutor der Antwort Dscoduc
Niemand erwähnte Codierung. Es ist ziemlich wichtig, wenn man log-Nachrichten in der chinesischen, japanischen, arabischen oder double-byte-Sprache.
Hier ist ein Beispiel:
InformationsquelleAutor der Antwort nakhli
Für die Anmeldung mit verschiedenen Farben bei der Anzeige auf der Konsole je nach message-level (debug, info, error oder fatal). Der zweite appender ist, um es zu speichern in einer Datei:
InformationsquelleAutor der Antwort David Espart
Reduzieren Größe der Protokolldatei, die Sie könnten versuchen, Einstellung der ConversionPattern:
hier ist das format, das ich verwenden:
BEVOR:
2012-06-05 10:58:40,819 [1] INFO Mein-App - [(null)] - Mein App - === - Sterne
ting....
NACH:
06/05 11:17:29,151-{INFO}-Meine App - ===ab...
Hinweis: die Dokumentation von Apache scheint nicht korrekt zu sein, für log4net - so wie es die Verwendung von SSS für Millisekunden, in der Erwägung, dass log4net verwendet fff
Eine kleine Einsparung pro Linie könnte einen großen Unterschied machen, insgesamt 🙂
InformationsquelleAutor der Antwort Sean
Führe ich ein ziemlich minimal log4net Konfiguration und es vorziehen, verwenden Sie das XML-format, aber eine Sache, die ich würde vorschlagen, hinzufügen von (web-apps) ist die ASP.NET trace-appender. Sie müssen einfach Folgendes hinzufügen:
Dann hinunter auf Ihr root-logger, oder wo auch immer Sie sich entscheiden, um es zu aktivieren:
Dies ermöglicht es mir, um alle meine relevanten debug-Daten gemeinsam auf einer Seite, wenn ich das Debuggen einige Minuten ASP.NET details. Die meiste Zeit habe ich die ASP.NET trace appender auskommentiert, um es zu deaktivieren, aber hat wirklich geholfen in einigen Fällen, vor allem, wenn Sie versuchen, herauszufinden, was die jeweiligen server post-back-Verfahren die Ursache für das auflegen in Ihrem app.
InformationsquelleAutor der Antwort Dillie-O
Dies kann helfen, ein wenig, je nachdem, wie ähnlich log4j und log4net sind, würde ich denken, Sie basieren auf der gleichen Spezifikation, aber ich weiß es nicht sicher.
Nun, ich kann Ihnen nicht sagen, was ich in meinem log4net Konfiguration, aber ich kann Ihnen sagen, was ich in meiner log4j config, wenn das reicht...
Auch ich habe eine entsprechende Kettensäge Konfigurationsdatei:
Auch hier finden Sie einige Informationen, die Ihnen helfen können decifer letztere Datei:
http://wiki.apache.org/logging-log4j/Configuring_a_log4j_RollingFileAppender_with_Chainsaw
InformationsquelleAutor der Antwort leeand00