journal: in json and export mode use double underscores to prefix location fields

Many programming languages don't allow variable names beginning in dots,
hence let's use double underscores for the location fields instead. This
gets us the simple rule:

__ is the prefix for location fields (i.e. fields that are used to
identify entries, rather than part of the entries)

_ is the prefix for trusted fields (i.e. those fields journald itself
adds to all entries)

no prefix for unrusted fields (i.e. all fields normal client code sends
us)
This commit is contained in:
Lennart Poettering 2012-04-03 18:15:28 +02:00
parent 568b679f2a
commit ba8d3790e8

View file

@ -347,10 +347,10 @@ static int output_export(sd_journal *j, unsigned line, unsigned n_columns, bool
return r;
}
printf(".cursor=%s\n"
".realtime=%llu\n"
".monotonic=%llu\n"
".boot_id=%s\n",
printf("__CURSOR=%s\n"
"__REALTIME=%llu\n"
"__MONOTONIC=%llu\n"
"__BOOT_ID=%s\n",
cursor,
(unsigned long long) realtime,
(unsigned long long) monotonic,
@ -459,10 +459,10 @@ static int output_json(sd_journal *j, unsigned line, unsigned n_columns, bool sh
fputs(",\n", stdout);
printf("{\n"
"\t\".cursor\" : \"%s\",\n"
"\t\".realtime\" : %llu,\n"
"\t\".monotonic\" : %llu,\n"
"\t\".boot_id\" : \"%s\"",
"\t\"__CURSOR\" : \"%s\",\n"
"\t\"__REALTIME\" : \"%llu\",\n"
"\t\"__MONOTONIC\" : \"%llu\",\n"
"\t\"__BOOT_ID\" : \"%s\"",
cursor,
(unsigned long long) realtime,
(unsigned long long) monotonic,