这破坏了我的头脑,这个库的文档似乎不存在。 我有一个Rolling Flat文件监听器...我想在任何写入监听器的消息中包含callstack。
<add name="RollingFileLog"
fileName="C:\Rainmaker\Logs\SampleArchitectureService.Log"
... snipped for brevity
traceOutputOptions="Callstack" />
我需要在Formatter中包含哪些内容才能显示Callstack / Trace信息。格式化程序在
之下<add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, ..."
name="TextFormatter"
template="{timestamp(local)}: [{category}/{severity}] - {message} - ****WHATGOES HERE***" />
我已经尝试了所有内容,查看扩展属性字典,使用{property()}和{keyvalue()}标记,但没有文档。
有人可以向我解释这个traceOutputOptions
属性的用途,如果是我的想法,那么我该如何访问这些属性。
答案 0 :(得分:2)
MSDN页面中的跟踪输出选项
TraceOutputOptions属性确定跟踪输出的可选内容。可以在配置文件中设置该属性,也可以在执行期间以编程方式设置该属性,以包含专门用于代码段的其他数据。例如,您可以将控制台跟踪侦听器的TraceOutputOptions属性设置为TraceOptions.Callstack,以将调用堆栈信息添加到跟踪输出。
还记得所有跟踪侦听器都不支持它 http://msdn.microsoft.com/en-us/library/system.diagnostics.tracelistener.traceoutputoptions.aspx
我看到将CallStack信息输入文件的唯一方法是通过文本格式化程序中的扩展属性字典。
template="Extended Properties: {dictionary({key} - {value}{newline})}"
发现一篇有趣的文章,这应该对你有帮助。 “如何输出TraceOutputOptions值” http://entlib.codeplex.com/discussions/344343