比如下面在 Action 中返回 Problem ObjectResult 的代码,不想在每个返回 Problem 的地方添加写日志的代码
if (response.IsValidationError)
{
return Problem(
response.ErrorMessage,
null,
StatusCodes.Status400BadRequest,
OrderError.ValidationFailed.Name);
}
通过下面的代码解决了
services.AddProblemDetails(options =>
{
options.CustomizeProblemDetails = (context) =>
{
var logger = context.HttpContext.RequestServices
.GetRequiredService<ILoggerFactory>()
.CreateLogger(nameof(options.CustomizeProblemDetails));
logger.LogError("Response problem details\n{@ProblemDetails}", context.ProblemDetails);
};
});
你的问题,估计要ChatGPT可以回答。