Файл журнала изменений: YAML против JSON против CSV - PullRequest
3 голосов
/ 11 февраля 2010

Я создаю простую библиотеку Changelog в CodeIgniter, которая в основном будет регистрировать сообщения при каждом добавлении, удалении, изменении или публикации сообщения в блоге. Я буду регистрировать сообщения в файлах партиями по 300. Таким образом, каждое 301-е сообщение будет идти в новом файле. Сначала я хотел записать журналы в простые файлы .log, но затем мне пришла идея на самом деле стилизовать объект, и мне пришлось отделить каждый «атрибут» каждого сообщения (т.е. пользователя, сообщения, типа журнала , так далее.). Таким образом, файлы .log исключены, поскольку извлечение информации было бы проблематичным.

Какой формат наиболее подходит для такой задачи? Я уже исключил MySQL и XML, потому что они слишком тяжелые (особенно учитывая, что файлы журналов не будут превышать (около) 300 строк). Я предложил YAML против JSON против CSV в названии, но есть ли еще лучшая альтернатива?

Ответы [ 2 ]

2 голосов
/ 11 февраля 2010

Я бы сказал, что все зависит от того, что вам нужно / нужно делать с этими файлами:

  • CSV имеет одно преимущество: его можно импортировать в Excel и такие приложения, которые могут быть полезны в некоторых ситуациях для составления отчетов начальнику, например
  • JSON доступен для чтения на многих языках, включая Javascript; но не легко читаемый человеком; и сложнее модифицировать "вручную"
  • И YAML довольно легко читается; не трудно изменить вручную; но не уверен в наличии библиотек для чтения на нескольких языках.


Если вы не находитесь ни в одной из этих ситуаций:

  • должен быть читабельным
    • человеком
    • на нескольких языках программирования
  • легко изменить
    • те же заметки

Тогда я думаю, что все три формата будут в порядке ^^


Не зная больше, я бы выбрал CSV (для импорта в Excel) или JSON (из соображений переносимости) .

1 голос
/ 20 марта 2010

Полагаю, CSV будет проще по нескольким причинам:

  • подсчитать, сколько логов уже есть в списке (просто посчитать количество строк)
  • добавить что-либо в объект JSON невозможно, просто добавив данные

Конечно, если вы решите создать отдельный объект JSON для каждого элемента журнала и поместить каждый в отдельную строку, это не проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...