Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 什么是Nlog布局渲染器,用于仅提取异常对象的消息属性?_C#_Nlog - Fatal编程技术网

C# 什么是Nlog布局渲染器,用于仅提取异常对象的消息属性?

C# 什么是Nlog布局渲染器,用于仅提取异常对象的消息属性?,c#,nlog,C#,Nlog,我开始使用Nlog,并遇到了一些问题,我希望为最终用户提供简单数据,为开发人员提供详细数据 简单数据只是异常对象的消息属性,但是当我执行${Message}时,它的输出与${Exception}相同。如果在异常期间检查此属性的值,则该属性通常很短,而且没有所有基础详细信息 是否有任何方法可以“过滤”到此数据,而不直接将异常消息作为消息参数发送?我想是它造的 编辑: catch(异常示例) { DBLogger.Error(例如,例如消息); 返回新列表(); } 根据NLog文件 引自链接: 渲

我开始使用Nlog,并遇到了一些问题,我希望为最终用户提供简单数据,为开发人员提供详细数据

简单数据只是
异常
对象的
消息
属性,但是当我执行
${Message}
时,它的输出与
${Exception}
相同。如果在异常期间检查此属性的值,则该属性通常很短,而且没有所有基础详细信息

是否有任何方法可以“过滤”到此数据,而不直接将异常消息作为消息参数发送?我想是它造的

编辑:

catch(异常示例)
{
DBLogger.Error(例如,例如消息);
返回新列表();
}

根据NLog文件

引自链接:

渲染选项 [……]

  • 格式-输出的格式。必须是以逗号分隔的异常属性列表:Message、Type、ShortType、ToString、Method、, StackTrace,数据。此参数值不区分大小写。违约: 信息

文件中也提到了这一点

您没有显示代码,因此我不知道您如何调用记录器。
但是我假设
${exception}
${message}
输出相同的结果,因为您没有传递实际的日志消息,所以NLog只是用异常消息填充它?
不过,我现在在源代码中找不到它。你能举例说明如何调用NLog吗?

我已经添加了数据传递的配置部分以及使用日志的捕获。注意:这个例子已经传递了ex.Message,因为这是我想要发送给${Message}的内容。这是我想要的结果,但我认为我使用的渲染器是错误的,不应该这样做。
        catch (Exception ex)
        {
            DBLogger.Error(ex, ex.Message);
            return new List<ApprovalDT>();
        }

      <parameter name="@machineName"    layout="${machinename}" />
  <parameter name="@logged"         layout="${date}" />
  <parameter name="@level"          layout="${level}" />
  <parameter name="@message"        layout="${message}" />
  <parameter name="@logger"         layout="${logger}" />
  <parameter name="@properties"     layout="${all-event-properties:separator=|}" />
  <parameter name="@callSite"       layout="${callsite}" />
  <parameter name="@exception"      layout="${stacktrace}" />