How do I redact values when Save()ing a yaml structure with YamlDotNet?
I handle several projects that use yaml files for configuration, and load them with YamlDotNet. It is sometimes useful to log the effective configuration when the program starts, to aid future debugging.
The obvious way to do this is to call
Save() right after
Load(), but that leaves sensitive configuration values (e.g. passwords) present in the log. I want
Save() to redact certain keys.
I think I can do this with a custom emitter, but the documentation on emitters is one line: "TODO". An alternative might be to copy the whole structure, modify the sensitive values, and then log the modified copy.
What's the Right Way to do this?