Labeled Tab-separated Values
ltsv.org
ltsv.org
Also, this linkbait title is just asking for a mod edit.
This is orthogonal, anyways, because if you can add more information with a label, you can add it without a label too.
Edit: I apparently missed your point. The issue about being able to modify the logging format at arbitrary times without breaking tools seems to be the main concern. Do people typically change their Apache logging format from time to time?
Some people, including me, have experiences to customise parsers after expanding combined format with several fields. It's annoying to re-write regular expressions for parsers of tools we use when changing log format and to remember the meaning and order of expanded fields.
With LTSV, parsers does not need to be modified in that cases. Easy to expand logs and easy to process them with labels.
Some time ago, we had to migrate dozens of HTML forms from legacy servers. We ended up implementing a generic forms handler to process all form submissions.
Initially, we logged all submissions to simple tab-delimited files. But as it turns out, some HTML field types, when left blank by the user, leave no trace in the query string.
So plain tab-delimited was not an option, and the answer turned out to be exactly this format.
I don't understand why an entirely new Tag-Value scheme was invented though, and this article doesn't attempt to justify it. Maybe it's not new and I just haven't heard of it?
Why not use: JSON ASN.1 BER Or any other scheme with existing, mature, encoders and parsers.
See also: http://ltsv.org/faq.html