Package net.logstash.logback.mask
Interface FieldMasker
- All Known Implementing Classes:
FieldNameBasedFieldMasker
,PathBasedFieldMasker
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
Masks JSON fields within a JSON stream.
Invoked by Comparison with
MaskingJsonGenerator
after a field name is written
(but before the field's value is known)
to determine if the field's value should be masked.
Comparison with ValueMasker
FieldMasker
s are more efficient thanValueMasker
s, sinceFieldMasker
s do not inspect values.FieldMasker
s can mask any type of JSON field (string, number, boolean, array, object), whereas aValueMasker
can only mask string and number values.ValueMasker
s can mask element values within an array.FieldMasker
s can only mask field values.
-
Method Summary
Modifier and TypeMethodDescriptionmask
(JsonStreamContext context) If the field at the JSON stream context's current path should be masked, then returns the masked value to write as the field's value.
-
Method Details
-
mask
If the field at the JSON stream context's current path should be masked, then returns the masked value to write as the field's value. TheMaskingJsonGenerator
will write the returned masked value as the field's value (instead of the original field's value).If the JSON stream context's current path should NOT be masked, returns null.
- Parameters:
context
- the current JSON stream context, which can be used to determine the path within the JSON output.- Returns:
- A non-null masked value to write if the current field should be masked.
Otherwise null if the current field should not be masked.
To write a JSON null value as the masked value, return
NullNode.instance
. To write "****", the returnMaskingJsonGenerator.MASK
-