对Log4Net输出结构的建议

时间:2016-07-05 15:01:37

标签: c# json xml log4net log4net-configuration

我已经为我的C#应用​​程序实现了Log4Net。我需要保存所有级别的日志。我目前正在将它们保存到txt文件中。但是,过了一段时间后,很难在txt文件中找到特定的日志。所以我必须将输出文件放入一个结构中。我读到了关于XML和JSON结构的内容,但我无法确定哪一个更有效..

问题:您建议我使用XML或JSON作为输出结构,为什么?还是其他任何建议?

由于

2 个答案:

答案 0 :(得分:0)

我建议保留文本格式,但配置log4net以获得更好的日志记录。 我总是有超过1个日志文件。

这就是我的建议:

  1. 有一个错误/致命的单独文件
  2. 拥有所有日志的日志文件,因此如果您需要在错误之前和之后查看调试/信息日志,请查看该日志
  3. 过滤日志以仅显示特定类/程序集的日志 就像你使用CRM一样,它会打印很多你不想要的东西。比如this one

  4. 设置log4net以每天创建不同的文件(或者每10 MB有太多数据)

答案 1 :(得分:0)

XML或JSON将使得直接读取日志变得更加困难,因为增加了混乱和转义。 然而(这是一个非常重点),如果您使用JSON,则可以将日志导入ELK(弹性搜索,Logstash,Kibana堆栈)。那么,通过日志将是轻而易举的。您可以使用log4net.Ext.Json生成该JSON。

就像@Ashkan建议的那样,我将本地文本文件保存在本地并将JSON流式传输到中央存储,例如ELK。