【发布时间】:2020-04-02 11:37:51
【问题描述】:
我已经在我的 WPF 应用程序中使用Serilog 实现了logging。我希望生成的输出采用Excel 格式。
我希望excel 文件具有这些column headers,如下所述,以便我可以通过应用filters 来sort。
date time| logtype |environment| app build version | test case description | status
output 示例应如下所示
date time | logtype |environment| app build version| test case description | status
02-04-2020 4:30 | Test Reults|aBC06 |2.0.150 | Loading Views | Success
我有如下logging配置
public class LoggerFactory : ILoggerFactory
{
public Serilog.Core.Logger Create()
{
var logger = new LoggerConfiguration()
.ReadFrom.AppSettings()
.CreateLogger();
return logger;
}
}
AppSettings 有这个配置
<add key="serilog:using:Seq" value="Serilog.Sinks.Seq" />
<add key="serilog:using:RollingFile" value="Serilog.Sinks.RollingFile" />
<add key="serilog:write-to:RollingFile.pathFormat" value="C:\Dev\Logs\abc-ui-automation-{Date}.txt" />
<add key="serilog:write-to:RollingFile.retainedFileCountLimit" value="10" />
<add key="serilog:write-to:Seq.serverUrl" value="http://localhost:5341" />
目前,logger 正在写入一个txt 文件,没有上述格式。如何确保完成上述任务?
【问题讨论】:
-
当您说“Excel 格式”时,您是指实际的 OOXML Excel 文件 (
*.xlsx) - 还是 CSV 文件?因为 CSV 文件不是“Excel 文件” - 您不能“追加”到 OOXML Excel 文件,因为它是一组包含在 PKZIP 容器中的单独 XML 文件。与支持增量写入的原始基于 OLE 的 Office 97-2003 文件格式不同(使用和理解起来非常复杂),后 Office 2007 OOXML 类型不支持。 -
@Dai 任何可以帮助我以上述格式写作的东西。该文件将一直打开,直到日志记录继续,并且必须相应地更新条目
-
“以上述格式书写” - 你错过了我的问题。我要求您说出哪种特定格式 - 您是在谈论 CSV 还是 OOXML?
-
OOXML 我相信。
-
@Dai 我什至可以使用 excel 打开一个 csv 文件,但日志记录应该采用上述格式,并且列标题应该在那里。需要详细的实现。对此非常陌生