1

这是破坏我的头并且文档似乎对于此库不存在。 我有一个滚动平面文件侦听器...我想包括任何消息写入到侦听器的调用堆栈。如何将TraceOutputOptions包含在企业库日志记录的输出中

<add name="RollingFileLog" 
      fileName="C:\Rainmaker\Logs\SampleArchitectureService.Log" 
      ... snipped for brevity 
      traceOutputOptions="Callstack" /> 

我需要在我的格式化程序中包含什么来获取该Callstack/Trace信息。格式化低于

<add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, ..." 
      name="TextFormatter" 
      template="{timestamp(local)}: [{category}/{severity}] - {message} - ****WHATGOES HERE***" /> 

我用尽了一切,看在扩展属性字典,使用{属性()}和{键值()}令牌进行其中有没有文档或者。

有人可以请我解释一下,这traceOutputOptions属性是为了什么,如果这是我的想法,我该如何访问这些属性。

回答

2

从MSDN页

的TraceOutputOptions属性跟踪输出选项确定跟踪输出的可选内容。该属性可以在配置文件中设置,也可以在执行过程中以编程方式设置,以包含特定于代码段的其他数据。例如,可以将控制台跟踪侦听器的TraceOutputOptions属性设置为TraceOptions.Callstack,以将调用堆栈信息添加到跟踪输出。

还记得它不是由所有跟踪侦听 http://msdn.microsoft.com/en-us/library/system.diagnostics.tracelistener.traceoutputoptions.aspx

我见得到调用堆栈信息到您的文件的唯一方法是通过扩展属性的文本格式化词典支持。

template="Extended Properties: {dictionary({key} - {value}{newline})}" 

找到一篇有趣的文章,这应该对你有帮助。 “如何输出TraceOutputOptions值” http://entlib.codeplex.com/discussions/344343

+0

注意别人有问题:如果使用配置文件来设置输出选项中,traceOutputOptions文件中的设置是区分大小写的,必须有一个初步的小写字母“T”,因为它在这句话中。 – Resource 2015-06-25 17:19:53

相关问题