Trong một trong những dự án của tôi, tôi nhận được lỗi này:log4net AdoNetAppender - SqlParameterCollection không chứa các thông số
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)
Đây là appender cấu hình (trong đó hoạt động hoàn hảo trong các dự án khác):
<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>
Nếu ai đó gặp vấn đề này, tôi thực sự đánh giá cao việc giúp đỡ
Bạn vừa mới nâng cấp lên 1.2.14 vì có [có vẻ là vấn đề] (https://issues.apache.org/jira/browse/LOG4NET-489) – stuartd
@stuartd Tôi vừa sao chép lại. Tất cả các ứng dụng khác dường như hoạt động. – Ernesto
Thực sự ... trong dự án mới này, tôi có phiên bản mới nhất của log4net –