PR feedback fixes for logging requestpredicate shortcircuit logging
This commit is contained in:
parent
d80471ad15
commit
4472c00c6f
|
|
@ -642,12 +642,12 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
||||||
_parameterBinderRequestPredicateShortCircuitOfProperty = LoggerMessage.Define<Type, string>(
|
_parameterBinderRequestPredicateShortCircuitOfProperty = LoggerMessage.Define<Type, string>(
|
||||||
LogLevel.Debug,
|
LogLevel.Debug,
|
||||||
47,
|
47,
|
||||||
"Skipped binding property '{PropertyContainerType}.{PropertyName}' since it's binding information disallowed it for the current request.");
|
"Skipped binding property '{PropertyContainerType}.{PropertyName}' since its binding information disallowed it for the current request.");
|
||||||
|
|
||||||
_parameterBinderRequestPredicateShortCircuitOfParameter = LoggerMessage.Define<string>(
|
_parameterBinderRequestPredicateShortCircuitOfParameter = LoggerMessage.Define<string>(
|
||||||
LogLevel.Debug,
|
LogLevel.Debug,
|
||||||
48,
|
48,
|
||||||
"Skipped binding parameter '{ParameterName}' since it's binding information disallowed it for the current request.");
|
"Skipped binding parameter '{ParameterName}' since its binding information disallowed it for the current request.");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void RegisteredOutputFormatters(this ILogger logger, IEnumerable<IOutputFormatter> outputFormatters)
|
public static void RegisteredOutputFormatters(this ILogger logger, IEnumerable<IOutputFormatter> outputFormatters)
|
||||||
|
|
@ -1324,14 +1324,13 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
||||||
public static void AttemptingToBindParameterOrProperty(
|
public static void AttemptingToBindParameterOrProperty(
|
||||||
this ILogger logger,
|
this ILogger logger,
|
||||||
ParameterDescriptor parameter,
|
ParameterDescriptor parameter,
|
||||||
ModelBindingContext bindingContext)
|
ModelMetadata modelMetadata)
|
||||||
{
|
{
|
||||||
if (!logger.IsEnabled(LogLevel.Debug))
|
if (!logger.IsEnabled(LogLevel.Debug))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var modelMetadata = bindingContext.ModelMetadata;
|
|
||||||
switch (modelMetadata.MetadataKind)
|
switch (modelMetadata.MetadataKind)
|
||||||
{
|
{
|
||||||
case ModelMetadataKind.Parameter:
|
case ModelMetadataKind.Parameter:
|
||||||
|
|
@ -1367,14 +1366,13 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
||||||
public static void DoneAttemptingToBindParameterOrProperty(
|
public static void DoneAttemptingToBindParameterOrProperty(
|
||||||
this ILogger logger,
|
this ILogger logger,
|
||||||
ParameterDescriptor parameter,
|
ParameterDescriptor parameter,
|
||||||
ModelBindingContext bindingContext)
|
ModelMetadata modelMetadata)
|
||||||
{
|
{
|
||||||
if (!logger.IsEnabled(LogLevel.Debug))
|
if (!logger.IsEnabled(LogLevel.Debug))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var modelMetadata = bindingContext.ModelMetadata;
|
|
||||||
switch (modelMetadata.MetadataKind)
|
switch (modelMetadata.MetadataKind)
|
||||||
{
|
{
|
||||||
case ModelMetadataKind.Parameter:
|
case ModelMetadataKind.Parameter:
|
||||||
|
|
@ -1410,14 +1408,13 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
||||||
public static void AttemptingToValidateParameterOrProperty(
|
public static void AttemptingToValidateParameterOrProperty(
|
||||||
this ILogger logger,
|
this ILogger logger,
|
||||||
ParameterDescriptor parameter,
|
ParameterDescriptor parameter,
|
||||||
ModelBindingContext bindingContext)
|
ModelMetadata modelMetadata)
|
||||||
{
|
{
|
||||||
if (!logger.IsEnabled(LogLevel.Debug))
|
if (!logger.IsEnabled(LogLevel.Debug))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var modelMetadata = bindingContext.ModelMetadata;
|
|
||||||
switch (modelMetadata.MetadataKind)
|
switch (modelMetadata.MetadataKind)
|
||||||
{
|
{
|
||||||
case ModelMetadataKind.Parameter:
|
case ModelMetadataKind.Parameter:
|
||||||
|
|
@ -1454,14 +1451,13 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
||||||
public static void DoneAttemptingToValidateParameterOrProperty(
|
public static void DoneAttemptingToValidateParameterOrProperty(
|
||||||
this ILogger logger,
|
this ILogger logger,
|
||||||
ParameterDescriptor parameter,
|
ParameterDescriptor parameter,
|
||||||
ModelBindingContext bindingContext)
|
ModelMetadata modelMetadata)
|
||||||
{
|
{
|
||||||
if (!logger.IsEnabled(LogLevel.Debug))
|
if (!logger.IsEnabled(LogLevel.Debug))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var modelMetadata = bindingContext.ModelMetadata;
|
|
||||||
switch (modelMetadata.MetadataKind)
|
switch (modelMetadata.MetadataKind)
|
||||||
{
|
{
|
||||||
case ModelMetadataKind.Parameter:
|
case ModelMetadataKind.Parameter:
|
||||||
|
|
@ -1540,9 +1536,14 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
||||||
|
|
||||||
public static void ParameterBinderRequestPredicateShortCircuit(
|
public static void ParameterBinderRequestPredicateShortCircuit(
|
||||||
this ILogger logger,
|
this ILogger logger,
|
||||||
ModelMetadata modelMetadata,
|
ParameterDescriptor parameter,
|
||||||
ParameterDescriptor parameter)
|
ModelMetadata modelMetadata)
|
||||||
{
|
{
|
||||||
|
if (!logger.IsEnabled(LogLevel.Debug))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
switch (modelMetadata.MetadataKind)
|
switch (modelMetadata.MetadataKind)
|
||||||
{
|
{
|
||||||
case ModelMetadataKind.Parameter:
|
case ModelMetadataKind.Parameter:
|
||||||
|
|
|
||||||
|
|
@ -203,10 +203,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding
|
||||||
throw new ArgumentNullException(nameof(metadata));
|
throw new ArgumentNullException(nameof(metadata));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Logger.AttemptingToBindParameterOrProperty(parameter, metadata);
|
||||||
|
|
||||||
if (parameter.BindingInfo?.RequestPredicate?.Invoke(actionContext) == false)
|
if (parameter.BindingInfo?.RequestPredicate?.Invoke(actionContext) == false)
|
||||||
{
|
{
|
||||||
Logger.ParameterBinderRequestPredicateShortCircuit(metadata, parameter);
|
Logger.ParameterBinderRequestPredicateShortCircuit(parameter, metadata);
|
||||||
|
|
||||||
return ModelBindingResult.Failed();
|
return ModelBindingResult.Failed();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -218,8 +219,6 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding
|
||||||
parameter.Name);
|
parameter.Name);
|
||||||
modelBindingContext.Model = value;
|
modelBindingContext.Model = value;
|
||||||
|
|
||||||
Logger.AttemptingToBindParameterOrProperty(parameter, modelBindingContext);
|
|
||||||
|
|
||||||
var parameterModelName = parameter.BindingInfo?.BinderModelName ?? metadata.BinderModelName;
|
var parameterModelName = parameter.BindingInfo?.BinderModelName ?? metadata.BinderModelName;
|
||||||
if (parameterModelName != null)
|
if (parameterModelName != null)
|
||||||
{
|
{
|
||||||
|
|
@ -239,14 +238,14 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding
|
||||||
|
|
||||||
await modelBinder.BindModelAsync(modelBindingContext);
|
await modelBinder.BindModelAsync(modelBindingContext);
|
||||||
|
|
||||||
Logger.DoneAttemptingToBindParameterOrProperty(parameter, modelBindingContext);
|
Logger.DoneAttemptingToBindParameterOrProperty(parameter, metadata);
|
||||||
|
|
||||||
var modelBindingResult = modelBindingContext.Result;
|
var modelBindingResult = modelBindingContext.Result;
|
||||||
|
|
||||||
if (_mvcOptions.AllowValidatingTopLevelNodes &&
|
if (_mvcOptions.AllowValidatingTopLevelNodes &&
|
||||||
_objectModelValidator is ObjectModelValidator baseObjectValidator)
|
_objectModelValidator is ObjectModelValidator baseObjectValidator)
|
||||||
{
|
{
|
||||||
Logger.AttemptingToValidateParameterOrProperty(parameter, modelBindingContext);
|
Logger.AttemptingToValidateParameterOrProperty(parameter, metadata);
|
||||||
|
|
||||||
EnforceBindRequiredAndValidate(
|
EnforceBindRequiredAndValidate(
|
||||||
baseObjectValidator,
|
baseObjectValidator,
|
||||||
|
|
@ -256,7 +255,7 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding
|
||||||
modelBindingContext,
|
modelBindingContext,
|
||||||
modelBindingResult);
|
modelBindingResult);
|
||||||
|
|
||||||
Logger.DoneAttemptingToValidateParameterOrProperty(parameter, modelBindingContext);
|
Logger.DoneAttemptingToValidateParameterOrProperty(parameter, metadata);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -321,7 +320,7 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding
|
||||||
// and we ended up with an empty prefix.
|
// and we ended up with an empty prefix.
|
||||||
modelName = modelBindingContext.FieldName;
|
modelName = modelBindingContext.FieldName;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Run validation, we expect this to validate [Required].
|
// Run validation, we expect this to validate [Required].
|
||||||
baseObjectValidator.Validate(
|
baseObjectValidator.Validate(
|
||||||
actionContext,
|
actionContext,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue