Hi Paolo,
No, there's no built-in conditional formatting to do what you want here. The recommended "hack" is to use a custom ITextFormatter (you can pass this into the sink) that delegates to two MessageTemplateTextFormatters each using different templates. The custom formatter can inspect a log event for the presence of the NDG property and choose which template formatter to use based on that.
Regarding the second example, the "key" attribute is missing the ".outputTemplate" part, try:
<add key="serilog:write-to:Console.outputTemplate" value="{Timestamp:HH:mm:ss} [ndg :{NDG} - {Data:dd-MM-yyyy}] [{Level}] {Message}{NewLine}{Exception}" />
Best regards,
Nick