问题映射字段与数据库目标

时间:2011-03-19 06:46:14

标签: nlog

我遇到问题,让它正常工作。我用一个直接的INSERT语句和一个存储过程尝试了它也有同样糟糕的结果。 在下面的示例中,版本号最终位于数据库的ErrorMsg字段中。日志级别最终在UserName中。知道为什么会这样吗? 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>

非常感谢任何帮助。

0 个答案:

没有答案