Add support for secrets/sensitive-info filtering #78
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
The PR introduces the ability to filter out secrets/sensitive-info from the body & metadata, i.e. scope name etc, of to-be-logged messages. The feature can be utilized through the
secrets
option, which is part of the configuration object passed to aSignale
instance on initialization. The option is of typeArray<String|Number>
and can hold multiple secrets, all of which are removed, if present, from the to-be-logged messages and replaced with the default'[secure]'
string. Additionally, when the unarysignale.scope(name)
function is used, the returnedSignale
instance inherits all the secrets belonging to its parent. The secrets checking process is performed in a case-sensitive manner. Finally, this PR is a follow-up to #71.It is critical and highly recommended to not type directly secrets in your code, thus the following example serves only as a simple & easily reproducible usage demonstration.