2012-03-31 18 views
0

Log4Netに問題があります。また、テーブル内のエントリを追加しません...ここ は、テーブル、クエリLog4NetがSQLデータベースに挿入されていません

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 

です)[PRIMARY]

GO

ONとweb.configファイル内のコードは怒鳴るです:Aplication_Start私で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 Server 2008R2

任意の提案を使用しています?

答えて

0

チェックこの非常に良い記事アウト: http://sadi02.wordpress.com/2008/09/15/how-to-store-log-in-database-using-log4net/

挨拶、

+0

投稿したブログからすべてのステップを実行しましたが、テーブルにはまだレコードがありません... – Vlad

+0

@ user1305208 .NETセキュリティ設定でDBパーミッションとアプリケーションのパーミッションをチェックしましたか? –

+0

管理者としてビジュアルスタジオを起動して、アプリケーションを実行してみてください。時にはこれがこのようなことを解決する方法です。 –

1

ログテーブル:Log4Net_Error。設定ファイルLog4Net_Error2にログテーブル。設定ファイルでテーブル名をLog4Net_Errorに変更してください。

関連する問題