Log4Net nicht melden oder Fehler
Habe ich schon versucht zu bekommen log4net logging in meinem asp.net web-Anwendung mit keinen Erfolg oder einen merklichen Fehler. Ich bin versucht, ADONetAppender appender mit der folgenden config:
<log4net>
<appender name="ADONetAppender" type="log4net.Appender.ADONetAppender">
<bufferSize value="1" />
<connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<connectionString value="server=" />
<commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message],[Exception],[Context]) VALUES
(@log_date, @thread, @log_level, @logger, @message, @exception, @context)" />
<parameter>
<parameterName value="@log_date" />
<dbType value="DateTime" />
<layout type="log4net.Layout.RawTimeStampLayout" />
</parameter>
<parameter>
<parameterName value="@thread" />
<dbType value="String" />
<size value="32" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%t" />
</layout>
</parameter>
<parameter>
<parameterName value="@log_level" />
<dbType value="String" />
<size value="512" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%p" />
</layout>
</parameter>
<parameter>
<parameterName value="@context" />
<dbType value="String" />
<size value="512" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%x" />
</layout>
</parameter>
<parameter>
<parameterName value="@logger" />
<dbType value="String" />
<size value="512" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%c" />
</layout>
</parameter>
<parameter>
<parameterName value="@message" />
<dbType value="String" />
<size value="4000" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%m" />
</layout>
</parameter>
<parameter>
<parameterName value="@exception" />
<dbType value="String" />
<size value="2000" />
<layout type="log4net.Layout.ExceptionLayout" />
</parameter>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="ADONetAppender" />
</root>
In mein global.asax Application_Start-ich nenne
log4net.Config.XmlConfigurator.Configure();
Dann versuchen zu Protokoll:
protected static readonly ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
protected void Page_Load(object sender, EventArgs e)
{
log.Info("did I log yet?");
}
All das ist nichts, so weit ich erzählen kann.
- Ich bekomme das Gefühl, dass die Verbindungszeichenfolge Anmeldeinformationen sind real, wahrscheinlich am besten, um nicht in Zukunft Beiträge...
- Ich habe das gleiche problem - das ist sehr frustrierend. Keine log-Einträge in der db, keine Fehler von Log4Net nachvollziehen.. nichts.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie Hinzugefügt, Hinzugefügt im folgenden Abschnitt unter Konfiguration->Configsections
Obwohl es möglich ist, fügen Sie Ihre log4net Konfiguration der Einstellungen zu Ihrem Projekt " app.config oder web.config-Datei, ist es vorzuziehen, legen Sie Sie in eine separate Konfigurationsdatei. Abgesehen von den offensichtlichen nutzen, Wartbarkeit, es hat den zusätzlichen Vorteil, dass log4net, kann sich einen Platz
FileSystemWatcher
Objekt auf Ihrem config-Datei zu überwachen, wenn Sie die änderungen und aktualisieren Sie die Einstellungen dynamisch an.Verwendung einer separaten config-Datei, eine Datei mit dem Namen
Log4Net.config
zu Ihrem Projekt und fügen Sie das folgende Attribut auf IhreAssemblyInfo.cs
Datei:Hinweis: für web-Applikationen, dies setzt Voraus, Log4Net.config befindet sich in den web-root. Sicherstellung der log4net.config-Datei ist markiert als "Copy To Output" -> "Immer Kopieren" in den Eigenschaften.
Vom hier.
des weiteren können Sie das folgende appsettings-zum aktivieren der internen log4net debugging-Informationen
Dem internen debug-Meldungen in die Konsole geschrieben werden (falls Sie eine haben) oder die Spur (wie das debug-Fenster in visual studio oder dbgview von sysintenals). Dies wird Ihnen helfen, zu beheben log4net Probleme.
Internal debugging
für log4Net ist der Weg zu gehen wie vorgeschlagen von @Pratik. Zum schreiben der Daten in eine Datei werden die folgenden:Fügen Sie den folgenden in
web.config
auch wenn Sie mit einer anderen config-Datei für log4net.Referenz