The variables-logging middleware reads these marks at runtime via
hasNoLogParameter / getNoLogFields and replaces the marked value (or whole arg)
with "<redacted>" before emitting the variables block. Metadata-covered fields
(entity columns with EntityFieldInfo.Encrypt=true) do not need @NoLog — applying
it is harmless but redundant. Use @NoLog for arguments that the redactor cannot
identify via metadata: custom-resolver parameters, MCP tool args, fields on input
types that don't map to a known entity.
@NoLog— marks a resolver argument or input-type field as never-loggable.Two modes, distinguished by decorator arity at runtime:
Parameter — applied to an
@Arg(...)parameter on a resolver method:Property — applied to a
@Field()on an@InputTypeclass:The variables-logging middleware reads these marks at runtime via
hasNoLogParameter/getNoLogFieldsand replaces the marked value (or whole arg) with"<redacted>"before emitting the variables block. Metadata-covered fields (entity columns withEntityFieldInfo.Encrypt=true) do not need@NoLog— applying it is harmless but redundant. Use@NoLogfor arguments that the redactor cannot identify via metadata: custom-resolver parameters, MCP tool args, fields on input types that don't map to a known entity.