2010-02-11 27 views
3

我在CodeIgniter中创建一个简单的Changelog lib,基本上每次有人添加,删除,更改或发布博客帖子时都会记录一条消息。我将通过300批次将文件记录在文件中。因此,每个301st消息都将放入一个新文件中。起初,我想将日志写入简单的.log文件,但后来我想到了实际设计风格的想法,并且我必须分离每条消息的每个“属性”(即:用户,消息,日志类型等)。所以.log文件是不可能的,因为提取信息会很痛苦。更改日志文件:YAML vs JSON vs CSV

这样的任务最合适的格式是什么?我已经排除了MySQL和XML,因为它们太重(特别是考虑到日志文件不会超过(大约)300行)。我在标题中提出了YAML vs JSON vs CSV,但是还有更好的选择吗?

回答

2

我说这一切都取决于你需要/什么想做的事与这些文件:

  • CSV有一个好处:它可以导入到Excel和这样的应用程序 - 这可能是有用的某些情况下,要向上级报告,例如
  • JSON可以用多种语言阅读,包括Javascript;但不容易被人读取;更难修改“手工”
  • 而YAML很容易阅读;不难手工修改;但不确定图书馆是否有可用多种语言阅读。


如果你在没有这些情况:

  • 必须是可读
    • 由一个人在几种编程语言是
  • 容易修改
    • 相同的音符

那么我想所有三种格式将是OK ^^


不知道更多,我会去与任何CSV (对于进口到Excel的东西)或JSON (为便携性原因)

+0

谢谢您的回答,您的反馈非常有趣。根据上下文,我认为JSON是我将选择的格式。 – 2010-02-11 19:46:39

1

我猜CSV会因为几个原因简单:

  • 数量众多的日志怎么都已经在列表中(仅计算行数)
  • 添加的东西到JSON对象可以”只需追加数据即可完成

当然,我选择为每个日志项目创建一个单独的JSON对象,并将它们放在一个单独的行中,这不是问题。

+0

虽然你不会阅读/写入JSON(或YAML) - 你将会使用一个库。然后它只是'data < - read_json(json)的问题;长度(数据); data + = more_data; json_write(数据)'... – naught101 2017-02-09 02:23:41