Log4Net에 문제가 있습니다. 그것은 테이블의 모든 항목을 추가하지 않습니다 ... 여기 [PRIMARY]Log4Net이 SQL 데이터베이스에 삽입되지 않음
이
GO와의 Web.config의 코드가 울부 짖는 소리이다 ON 테이블 쿼리
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
)입니다 : Aplication_Start I에서 global.asax.cs에서 또한
<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>
, 줄을 추가했습니다.
log4net.Config.XmlConfigurator.Configure();
그리고 여전히 테이블에 항목이 없습니다.
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);
}
메시지를 텍스트 파일에 추가하려고하면 문제가 없습니다.
응용 프로그램은 MVC3에서 내가 SQL 서버 2008R2
어떤 제안을 사용하고 있습니다 ??
게시 한 블로그에서 모든 단계를 수행했지만 여전히 테이블에 기록이 없습니다 ... – Vlad
@ user1305208 .NET 보안 설정에서 응용 프로그램의 사용 권한과 사용 권한을 확인 했습니까? –
Visual Studio를 관리자로 시작한 다음 응용 프로그램을 실행 해보십시오. 때로는 이것이 바로 이런 것들을 고정시키는 방법입니다. –