Ich habe ein Problem mit Log4Net. Es macht keinen Eintrag in der Tabelle hinzufügen ... hier ist die Tabelle AbfrageLog4Net Einfügen in SQL-Datenbank funktioniert nicht
CREATE TABLE [dbo].[Log4Net_Error](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Date] [datetime] NOT NULL,
[Thread] [varchar](255) NOT NULL,
[Level] [varchar](50) NOT NULL,
[Logger] [varchar](255) NOT NULL,
[Message] [varchar](4000) NOT NULL,
[Exception] [varchar](2000) NULL
) ON [PRIMARY]
GO
und der Code in der web.config ist unten :
<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="data source=.\SQLEXPRESS;Initial Catalog=pnawebloket;Integrated Security=True" />
<commandText value="INSERT INTO Log4Net_Error2 ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" />
<parameter>
<parameterName value="@log_date" />
<dbType value="DateTime" />
<layout type="log4net.Layout.RawTimeStampLayout" />
</parameter>
<parameter>
<parameterName value="@thread" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%thread" />
</layout>
</parameter>
<parameter>
<parameterName value="@log_level" />
<dbType value="String" />
<size value="50" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%level" />
</layout>
</parameter>
<parameter>
<parameterName value="@logger" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%logger" />
</layout>
</parameter>
<parameter>
<parameterName value="@message" />
<dbType value="String" />
<size value="4000" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message" />
</layout>
</parameter>
<parameter>
<parameterName value="@exception" />
<dbType value="String" />
<size value="2000" />
<layout type="log4net.Layout.ExceptionLayout" />
</parameter>
</appender>
<!-- Set root logger level to DEBUG and its only appender to A1 -->
<root>
<level value="DEBUG" />
<appender-ref ref="AdoNetAppender" />
</root>
auch ich in global.asax.cs in Aplication_Start hat die Zeile hinzugefügt
log4net.Config.XmlConfigurator.Configure();
Und ich habe immer noch keinen Eintrag in der Tabelle.
public ActionResult Employees()
{
log4net.ILog logger = log4net.LogManager.GetLogger(this.GetType());
logger.Info("test");
//throw new Exception("ex");
ViewBag.Message = "Bellow is a table with employee's";
var employees = employeerepository.FindAllEmployee().ToList();
return View(employees);
}
Wenn ich versuche, die Nachricht in einer Textdatei hinzuzufügen, ist die Arbeit in Ordnung.
ist App in MVC3 und ich bin mit SQL Server 2008r2
Irgendwelche Vorschläge ??
Ich habe alle Schritte aus dem Blog getan, die Sie gepostet, aber immer noch keine Datensätze in der Tabelle ... – Vlad
@ user1305208 haben Sie die DB-Berechtigungen und die Berechtigungen Ihrer Anwendung in den .NET-Sicherheitseinstellungen überprüft? –
versuchen Sie auch, Ihr Visual Studio als Admin zu starten und dann Ihre Anwendung auszuführen. Manchmal ist dies eine Möglichkeit, Dinge wie diese zu beheben. –