Ваш вопрос очень широк и трудно рекомендовать один подход. Но поскольку вы смотрите на параметр только для приложения, вам нужен формат, который не требует нижнего колонтитула. Например. вы не можете использовать XML, поскольку XML должен иметь закрывающие теги, и вы не просто добавляете данные.
Очевидным вариантом является формат файла с разделителями, будь то табуляция или текст с разделителями-запятыми. Они практически универсальны и четко определены. Они также довольно компактны, всего один символ, чтобы разграничить поля. Однако они не подходят для данных, которые меняются последовательно. Например. одна строка имеет значения для полей A, B, C, но другая строка имеет значения для полей A, D и E. В этом случае вам может понадобиться формат, который определяет тип данных в записи на запись. Примером такого формата является HL7 (https://en.wikipedia.org/wiki/Health_Level_7). Это формат с разделителями, но каждая строка имеет «заголовок», указывающий тип записи.
Если вы ищете более высокую производительность, вы можете придумать свой собственный формат в зависимости от ваших данных и даже сохранить его в двоичном формате и даже использовать сжатие (см. DeflateStream https://msdn.microsoft.com/en-us/library/system.io.compression.deflatestream(v=vs.110).aspx) для уменьшения ввода/О. Это сделает операции записи немного более интенсивными в ЦП, но ввод-вывод, как правило, медленнее, так что в целом, тем более, что текст сжимается очень хорошо, вы можете получить прибыль от производительности. Вы должны были бы ориентироваться, чтобы быть уверенным в своем случае использования.
Наконец, вам нужен класс, который может управлять записью (кэширование/запись в очереди, хранить обработчик файлов и т. Д.), Чтобы код вызова можно было упростить и синхронизировать в одном месте. Вы можете сделать этот асинхронный вызов, если вызывающий может продолжить работу, и ваш писатель будет обеспечивать, чтобы данные вносили это или синхронно, если это «журнал транзакций», что означает, что потеря неприемлема, и вызывающий должен убедиться, что запись на самом деле произошло.
Опять же, это очень высокий уровень информации, так как ваш запрос такой же смутный и высокий. Если вы придумаете более подробную информацию, возможно, мы сможем вам помочь.