PR feedback fixes for logging requestpredicate shortcircuit logging

This commit is contained in:
Kiran Challa 2018-05-17 11:03:06 -07:00
parent d80471ad15
commit 4472c00c6f
2 changed files with 20 additions and 20 deletions

View File

@ -642,12 +642,12 @@ namespace Microsoft.AspNetCore.Mvc.Internal
_parameterBinderRequestPredicateShortCircuitOfProperty = LoggerMessage.Define<Type, string>(
LogLevel.Debug,
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>(
LogLevel.Debug,
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)
@ -1324,14 +1324,13 @@ namespace Microsoft.AspNetCore.Mvc.Internal
public static void AttemptingToBindParameterOrProperty(
this ILogger logger,
ParameterDescriptor parameter,
ModelBindingContext bindingContext)
ModelMetadata modelMetadata)
{
if (!logger.IsEnabled(LogLevel.Debug))
{
return;
}
var modelMetadata = bindingContext.ModelMetadata;
switch (modelMetadata.MetadataKind)
{
case ModelMetadataKind.Parameter:
@ -1367,14 +1366,13 @@ namespace Microsoft.AspNetCore.Mvc.Internal
public static void DoneAttemptingToBindParameterOrProperty(
this ILogger logger,
ParameterDescriptor parameter,
ModelBindingContext bindingContext)
ModelMetadata modelMetadata)
{
if (!logger.IsEnabled(LogLevel.Debug))
{
return;
}
var modelMetadata = bindingContext.ModelMetadata;
switch (modelMetadata.MetadataKind)
{
case ModelMetadataKind.Parameter:
@ -1410,14 +1408,13 @@ namespace Microsoft.AspNetCore.Mvc.Internal
public static void AttemptingToValidateParameterOrProperty(
this ILogger logger,
ParameterDescriptor parameter,
ModelBindingContext bindingContext)
ModelMetadata modelMetadata)
{
if (!logger.IsEnabled(LogLevel.Debug))
{
return;
}
var modelMetadata = bindingContext.ModelMetadata;
switch (modelMetadata.MetadataKind)
{
case ModelMetadataKind.Parameter:
@ -1454,14 +1451,13 @@ namespace Microsoft.AspNetCore.Mvc.Internal
public static void DoneAttemptingToValidateParameterOrProperty(
this ILogger logger,
ParameterDescriptor parameter,
ModelBindingContext bindingContext)
ModelMetadata modelMetadata)
{
if (!logger.IsEnabled(LogLevel.Debug))
{
return;
}
var modelMetadata = bindingContext.ModelMetadata;
switch (modelMetadata.MetadataKind)
{
case ModelMetadataKind.Parameter:
@ -1540,9 +1536,14 @@ namespace Microsoft.AspNetCore.Mvc.Internal
public static void ParameterBinderRequestPredicateShortCircuit(
this ILogger logger,
ModelMetadata modelMetadata,
ParameterDescriptor parameter)
ParameterDescriptor parameter,
ModelMetadata modelMetadata)
{
if (!logger.IsEnabled(LogLevel.Debug))
{
return;
}
switch (modelMetadata.MetadataKind)
{
case ModelMetadataKind.Parameter:

View File

@ -203,10 +203,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding
throw new ArgumentNullException(nameof(metadata));
}
Logger.AttemptingToBindParameterOrProperty(parameter, metadata);
if (parameter.BindingInfo?.RequestPredicate?.Invoke(actionContext) == false)
{
Logger.ParameterBinderRequestPredicateShortCircuit(metadata, parameter);
Logger.ParameterBinderRequestPredicateShortCircuit(parameter, metadata);
return ModelBindingResult.Failed();
}
@ -218,8 +219,6 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding
parameter.Name);
modelBindingContext.Model = value;
Logger.AttemptingToBindParameterOrProperty(parameter, modelBindingContext);
var parameterModelName = parameter.BindingInfo?.BinderModelName ?? metadata.BinderModelName;
if (parameterModelName != null)
{
@ -239,14 +238,14 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding
await modelBinder.BindModelAsync(modelBindingContext);
Logger.DoneAttemptingToBindParameterOrProperty(parameter, modelBindingContext);
Logger.DoneAttemptingToBindParameterOrProperty(parameter, metadata);
var modelBindingResult = modelBindingContext.Result;
if (_mvcOptions.AllowValidatingTopLevelNodes &&
_objectModelValidator is ObjectModelValidator baseObjectValidator)
{
Logger.AttemptingToValidateParameterOrProperty(parameter, modelBindingContext);
Logger.AttemptingToValidateParameterOrProperty(parameter, metadata);
EnforceBindRequiredAndValidate(
baseObjectValidator,
@ -256,7 +255,7 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding
modelBindingContext,
modelBindingResult);
Logger.DoneAttemptingToValidateParameterOrProperty(parameter, modelBindingContext);
Logger.DoneAttemptingToValidateParameterOrProperty(parameter, metadata);
}
else
{
@ -321,7 +320,7 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding
// and we ended up with an empty prefix.
modelName = modelBindingContext.FieldName;
}
// Run validation, we expect this to validate [Required].
baseObjectValidator.Validate(
actionContext,