我正在使用Enterprise Library将数据记录到CSV文件中。它写入CSV文件,但它不包含标题,它将所有参数写在不同的行上。这样的事情:
Timestamp: 4/14/2011 6:41:49 PM
Message: Starting Application
Category: General
Priority: -1
EventId: 0
Severity: Information
Title:
Machine:
App Domain: EnterpriseLib.vshost.exe
ProcessId: 10792
Process Name:
Thread Name:
Win32 ThreadId:7976
Extended Properties:
是否有办法格式化输出日志,以便在表格格式中列出参数,并带有时间戳,类别等标题,等等。
答案 0 :(得分:0)
通过标题,您的意思是文件顶部的标题?或者文件中每条记录的标题?
输出格式由格式化程序模板控制。这通常在配置文件中定义。对于CSV文件,您可能希望使用类似于以下的模板:
<formatters>
<add template=""{timestamp}","{severity}","{message}""
type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=null"
name="SimpleTextFormatter" />
</formatters>
这将导致以下输出:
“4/14/2011 7:34:53 PM“,”信息“,”这是 消息!“
您可以使用配置工具插入您要记录的任何其他令牌(例如{category})。
请注意,如果您需要正确的CSV格式,则必须确保转义双引号。