2015-11-13 14 views
9

が含まれていない:誰か場合log4netのAdoNetAppender - SqlParameterCollectionが、私はこのエラーを取得する私のプロジェクトの一つでパラメータ

<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=*****;Initial Catalog=****;Integrated Security=SSPI" /> 
     <commandText value="INSERT INTO [LogsDB].[dbo].[Logs] ([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="@exception" /> 
      <dbType value="String" /> 
      <size value="2000" /> 
      <layout type="log4net.Layout.ExceptionLayout" /> 
     </parameter> 
    </appender> 

:ここ

System.IndexOutOfRangeException: SqlParameterCollection does not contain SqlParameter with ParameterName "@log_date". 
в System.Data.SqlClient.SqlParameterCollection.GetParameter(String parameterName) 
в System.Data.Common.DbParameterCollection.System.Data.IDataParameterCollection.get_Item(String parameterName) 
в log4net.Appender.AdoNetAppenderParameter.FormatValue(IDbCommand command, LoggingEvent loggingEvent) 
в log4net.Appender.AdoNetAppender.SendBuffer(IDbTransaction dbTran, LoggingEvent[] events) 
в log4net.Appender.AdoNetAppender.SendBuffer(LoggingEvent[] events) 

は、(他のプロジェクトで完璧に動作します)アペンダ構成ですこの問題があったので、本当に助けていただきありがとうございます

+1

[問題があるように] 1.2.14にアップグレードしましたか(https://issues.apache.org/jira/browse/LOG4NET-489) – stuartd

+0

@stuartd私はこれを再現しました。他のすべてのアペンダーは動作するようです。 – Ernesto

+0

本当に...この新しいプロジェクトでは、私はlog4netの最新バージョンを持っています –

答えて

12

インストールパッケージLog4net -Version 2.0.3

私のために働く(同じ問題がある)

+2

[2.0.3](https://www.nuget.org/packages/log4net/2.0.3)にダウングレードすると、今のところ問題が解決しました。 – Win

+0

私のために働く。ありがとう。 – Aleksei

+0

あまりにも私のためにそれをソートしました...ありがとう –

-1

解決済みLog4Netを2.04にアップグレードしました!上記のコマンドを実行してください! 私は何をしているのか分かりません。しかし、今私はデータベースにログオンすることができます!

+1

もしあなたが 'Install-Package Log4net -Version 2.0.3'コマンドを意味するならば、あなたは2.0.3バージョンにダウングレードしました。バグ[here](https://issues.apache.org/jira/browse/LOG4NET-489)について読むことができます。 – SebastianC

関連する問題