Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logging 使用带标题的企业库登录到CSV_Logging_Enterprise Library - Fatal编程技术网

Logging 使用带标题的企业库登录到CSV

Logging 使用带标题的企业库登录到CSV,logging,enterprise-library,Logging,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: 1079

我正在使用企业库将数据记录到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: 

是否有一种方法可以格式化输出日志,使参数以表格形式列出,并带有诸如时间戳、类别等标题。

标题是指文件顶部的标题?还是文件中每个记录的标题

输出格式由格式化程序模板控制。这通常在配置文件中定义。对于CSV文件,您希望使用类似于以下内容的模板:

<formatters>
  <add template="&quot;{timestamp}&quot;,&quot;{severity}&quot;,&quot;{message}&quot;"
    type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=null"
    name="SimpleTextFormatter" />
</formatters>
这将产生以下输出:

2011年4月14日7:34:53 PM,信息,这里是 留言

您可以使用配置工具插入希望记录的任何其他令牌,例如{category}


请注意,如果需要正确的CSV格式,则必须确保转义双引号。

我可以通过转义双引号获得CSV格式。标题是指将标题添加到每列中。就像上面显示的时间一样,我想要写时间戳,上面的消息我想要写消息等等。如果你想要你的头是基于每个记录的,那么你可以只设置监听器的头属性。如果您只想将头放在文件的顶部,我认为这不受开箱即用的支持。您可以编写自己的侦听器来执行此操作,也可以编写脚本在日志文件关闭后添加头。