0

我正在使用Enterprise Library 5进行日志记录,有没有办法更改text formatter template创建HTML日志文件?

4

2 回答 2

1

我通过在我的 app.config 中添加一个格式化程序并命名它来解决了这个问题HTMLFormatter

<add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
template="                  &lt;html&gt;&#xA;                  &lt;body&gt;&#xA;&#xA;                  &lt;table border=&quot;1&quot; style=&quot;border: solid 1px #000000; border-collapse:collapse;font-family:tahoma;color:black ;font-size:12px;&quot;&gt;&#xA;&#xA;                  &lt;tr&gt;&lt;td&gt;&lt;b&gt;Message&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;{message}&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&#xA;&#xA;                  &lt;tr&gt;&lt;td&gt;Local TimeStamp&lt;/td&gt;&lt;td&gt;{timestamp(local)}&lt;/td&gt;&lt;/tr&gt;&#xA;&#xA;                  &lt;tr&gt;&lt;td&gt;Title&lt;/td&gt;&lt;td&gt;{title}&lt;/td&gt;&lt;/tr&gt;&#xA;&#xA;                  &lt;tr&gt;&lt;td&gt;Severity&lt;/td&gt;&lt;td&gt;{severity}&lt;/td&gt;&lt;/tr&gt;&#xA;&#xA;                  &lt;tr&gt;&lt;td&gt;Category&lt;/td&gt;&lt;td&gt;{category}&lt;/td&gt;&lt;/tr&gt;&#xA;&#xA;                  &lt;tr&gt;&lt;td&gt;Local Machine&lt;/td&gt;&lt;td&gt;{localMachine}&lt;/td&gt;&lt;/tr&gt;&#xA;&#xA;                  &lt;tr&gt;&lt;td&gt;AppDomain&lt;/td&gt;&lt;td&gt;{appDomain}&lt;/td&gt;&lt;/tr&gt;&#xA;&#xA;                  &lt;tr&gt;&lt;td&gt;Extended Properties&lt;/td&gt;&lt;td&gt;&#xA;                  &lt;table border=&quot;1&quot; style=&quot;border: solid 1px #000000; border-collapse:collapse;&quot;&gt;&#xA;                  {dictionary(&lt;tr&gt;&lt;td&gt;{key}&lt;/td&gt;&lt;td&gt;{value}&lt;/td&gt;&lt;/tr&gt;)}&#xA;&#xA;                  &lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&#xA;                  &lt;/table&gt;&#xA;                  &lt;/body&gt;&#xA;                  &lt;/html&gt;&#xA;&#xA;"
name="HTMLFormatter" />
于 2013-08-06T08:51:23.127 回答
0

@Masoud 的方法很简单,可以在大多数情况下工作(但可以记录无效的 HTML)。

另一种方法是使用仅带有 Message 属性集的模板并编写一个生成有效 HTML 的辅助方法(所有字段都正确转义等)。

更进一步,可以创建一个自定义格式化程序来输出所需的 HTML。

于 2013-08-07T18:26:14.873 回答