php - 变更日志文件 : YAML vs JSON vs CSV

标签 php json logging csv yaml

<分区>

我正在 CodeIgniter 中创建一个简单的 Changelog 库,它基本上会在每次有人添加、删除、更改或发布博客文章时记录一条消息。我将按 300 条批处理将消息记录在文件中。因此每条第 301 条消息都将放入一个新文件中。起初我想将日志写入简单的 .log 文件,但后来我想到了实际设置样式的想法,我不得不将每条消息的每个“属性”分开(即:用户、消息、日志类型, ETC。)。所以 .log 文件是不可能的,因为提取信息会很痛苦。

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

最佳答案

我会说这完全取决于您需要/想要对这些文件做什么:

  • CSV 有一个优势:它可以导入到 Excel 和此类应用程序中——这在某些情况下可能很有用,例如向上级报告
  • JSON 在许多语言中都是可读的,包括 Javascript;但不容易被人类阅读;并且更难“手动”修改
  • 而且 YAML 非常容易阅读;不难手工修改;但不确定是否有图书馆可以用多种语言阅读它。


如果您不属于这些情况:

  • 必须可读
    • 由人类
    • 使用多种编程语言
  • 易于修改
    • 同样的笔记

那我猜三种格式都可以吧^^


在不知道更多信息的情况下,我会选择 CSV (用于导入 Excel 内容) 或 JSON (出于可移植性原因)

关于php - 变更日志文件 : YAML vs JSON vs CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2246483/

相关文章:

php - 插件模型关联在 cakephp 2.3 中无法使用 cake ACL 工作

java - 来自 Jackson 2.2 的 ObjectMapper 的 pretty-print JSON

java - 为什么 Java 中的记录器很少有 System.out.println 有的 .toString()?

java - 包装 log4j 或创建自定义记录器?

spring - Gradle 从 Spring 中排除 SLF4J

javascript - 异步 Ajax 无法在带有重定向的 Safari 中工作

php - 如何用 Idiorm 语法写这个

php - 未捕获 PDO 异常

ios - 地幔是否需要完全指定模型?

java - 生成json树时出现StackOverflowError