Я использую NLog v4.5.11 с Asp.net Mvc и пытаюсь сохранить журнал в таблицу db, вот моя конфигурация NLog:
<target name="database"
type="Database"
connectionStringName="Test">
<commandText>
INSERT INTO ExceptionLog
(Message, StackTrace, InnerException, ExtraInfo, Date ) VALUES
(@Message, @StackTrace, @InnerException, @ExtraInfo, @Date);
</commandText>
<parameter name="@Message" layout="${exception:format=message}" />
<parameter name="@StackTrace" layout="${exception:format=stacktrace}" />
<parameter name="@InnerException" layout="${exception:format=type,message,method:maxInnerExceptionLevel=5:innerFormat=shortType,message,method}" />
<parameter name="@ExtraInfo" layout="${event-properties:item=extraInfo}" />
<parameter name="@Date" layout="${date}" />
<dbProvider>System.Data.SqlClient</dbProvider>
</target>
<logger name="Test.Namespace.DatabaseLogger" minlevel="Debug" writeTo="database" final="true" />
Вот как я это называю внутри моего DatabaseLogger:
public void Error(string message, Exception exception)
{
Logger.Error(exception, "{extraInfo}", "This is some test extra info");
}
Однако это просто вставляет пустую строку в столбец ExtraInfo (так как свойство не найдено).Все остальные столбцы установлены правильно.Я делаю что-то неправильно?Есть идеи как это исправить?