mirror of
https://github.com/rsyslog/rsyslog.git
synced 2025-12-16 22:40:40 +01:00
Add support for optional fields
This commit is contained in:
parent
d18a93e943
commit
a73058031f
@ -714,6 +714,10 @@ Useful for secure pathname generation (with dynafiles).
|
||||
Useful for secure pathname generation (with dynafiles).
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>optional-field</b></td>
|
||||
<td>In templates that are used for building field lists (in particular, ommongodb), completely remove this field if the corresponding property is not present. Currently implemented only for the <b>$!<name></b> properties.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>To use multiple options, simply place them one after each other with a comma delmimiting
|
||||
|
||||
@ -663,6 +663,8 @@ static void doOptions(unsigned char **pp, struct templateEntry *pTpe)
|
||||
} else {
|
||||
pTpe->data.field.options.bJSONf = 1;
|
||||
}
|
||||
} else if(!strcmp((char*)Buf, "optional-field")) {
|
||||
pTpe->data.field.options.bOptionalField = 1;
|
||||
} else {
|
||||
dbgprintf("Invalid field option '%s' specified - ignored.\n", Buf);
|
||||
}
|
||||
@ -1988,6 +1990,9 @@ void tplPrintList(rsconf_t *conf)
|
||||
if(pTpe->data.field.options.bJSONf) {
|
||||
dbgprintf("[format as JSON field] ");
|
||||
}
|
||||
if(pTpe->data.field.options.bOptionalField) {
|
||||
dbgprintf("[optional field - skip in field template if not present] ");
|
||||
}
|
||||
if(pTpe->data.field.options.bDropLastLF) {
|
||||
dbgprintf("[drop last LF in msg] ");
|
||||
}
|
||||
|
||||
@ -115,6 +115,7 @@ struct templateEntry {
|
||||
unsigned bCSV: 1; /* format field in CSV (RFC 4180) format */
|
||||
unsigned bJSON: 1; /* format field JSON escaped */
|
||||
unsigned bJSONf: 1; /* format field JSON *field* (n/v pair) */
|
||||
unsigned bOptionalField: 1; /* optional field - skip in field template if not present */
|
||||
} options; /* options as bit fields */
|
||||
} field;
|
||||
} data;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user