У меня проблема с тем, чтобы заставить это работать правильно. Я попробовал это с прямым утверждением INSERT и сохраненным Proc также с такими же плохими результатами
В приведенном ниже примере номер версии заканчивается в поле ErrorMsg в базе данных. Уровень журнала заканчивается именем пользователя. Есть идеи, почему это происходит? Инструкция commandtext верна.
<target xsi:type="Database"
name="dberrorlog"
connectionStringName="Logger"
keepConnection="true"
useTransactions="true" >
<commandText>
INSERT INTO [Logs].[LogError]
([ProgName], [CreatedDate], [CompName], [LogLevel], [UserName], [ErrorMsg], [Version], [SourceMethod], [StackTrace])
VALUES
(@ProgName, @CreatedDate, @CompName, @LogLevel, @UserName, @ErrorMsg, @Version, @SourceMethod, @StackTrace)
</commandText>
<parameter name="@ProgName" layout="MyProgram"/>
<parameter name="@CreatedDate" layout="${date:format=MM\-dd\-yyyy HH\:mm\:ss}"/>
<parameter name="@CompName" layout="${machinename}"/>
<parameter name="@LogLevel" layout="${level}"/>
<parameter name="@UserName" layout="${aspnet-user-identity}"/>
<parameter name="@ErrorMsg" layout="${exception:format=ToString}"/>
<parameter name="@Version" layout="1.0.0.0"/>
<parameter name="@SourceMethod" layout="${callsite}"/>
<parameter name="@StackTrace" layout="${stacktrace:format=Raw}"/>
</target>
Любая помощь с благодарностью.