我正在使用Enterprise Library 5进行日志记录,有没有办法更改text formatter template
创建HTML
日志文件?
问问题
566 次
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=" <html>
 <body>

 <table border="1" style="border: solid 1px #000000; border-collapse:collapse;font-family:tahoma;color:black ;font-size:12px;">

 <tr><td><b>Message</b></td><td><b>{message}</b></td></tr>

 <tr><td>Local TimeStamp</td><td>{timestamp(local)}</td></tr>

 <tr><td>Title</td><td>{title}</td></tr>

 <tr><td>Severity</td><td>{severity}</td></tr>

 <tr><td>Category</td><td>{category}</td></tr>

 <tr><td>Local Machine</td><td>{localMachine}</td></tr>

 <tr><td>AppDomain</td><td>{appDomain}</td></tr>

 <tr><td>Extended Properties</td><td>
 <table border="1" style="border: solid 1px #000000; border-collapse:collapse;">
 {dictionary(<tr><td>{key}</td><td>{value}</td></tr>)}

 </table></td></tr>
 </table>
 </body>
 </html>

"
name="HTMLFormatter" />
于 2013-08-06T08:51:23.127 回答
0
@Masoud 的方法很简单,可以在大多数情况下工作(但可以记录无效的 HTML)。
另一种方法是使用仅带有 Message 属性集的模板并编写一个生成有效 HTML 的辅助方法(所有字段都正确转义等)。
更进一步,可以创建一个自定义格式化程序来输出所需的 HTML。
于 2013-08-07T18:26:14.873 回答