2012-03-31 2 views
0

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

어떤 제안을 사용하고 있습니다 ??

답변

0
+0

게시 한 블로그에서 모든 단계를 수행했지만 여전히 테이블에 기록이 없습니다 ... – Vlad

+0

@ user1305208 .NET 보안 설정에서 응용 프로그램의 사용 권한과 사용 권한을 확인 했습니까? –

+0

Visual Studio를 관리자로 시작한 다음 응용 프로그램을 실행 해보십시오. 때로는 이것이 바로 이런 것들을 고정시키는 방법입니다. –

1

로그 테이블 : Log4Net_Error; 구성 파일에 Log Table : Log4Net_Error2. 구성 파일에서 Log4Net_Error로 테이블 이름을 변경해야합니다.

관련 문제