You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core:如何让内置请求日志记录未授权(401)请求?

ASP.NET Core 记录401未授权请求的配置方法

两种日志方案都可以通过调整配置来记录401未授权请求,具体设置如下:

HTTP 日志配置

默认情况下HTTP日志中间件会过滤401状态码的请求,你可以通过修改HttpLoggingOptions来指定要包含的状态码:

builder.Services.AddHttpLogging(options =>
{
    // 明确添加401状态码到记录范围,也可用StatusCodes.Status401Unauthorized常量
    options.IncludeStatusCodes = new[] { 401 };
    // 若要记录所有状态码,直接设为null即可:options.IncludeStatusCodes = null;
    // 按需开启需要记录的字段,这里示例开启所有字段
    options.LoggingFields = HttpLoggingFields.All;
});

同时要确保日志级别配置正确,在appsettings.json中对应类别的日志级别设为Information或更低:

{
  "Logging": {
    "LogLevel": {
      "Microsoft.AspNetCore.HttpLogging.HttpLoggingMiddleware": "Information"
    }
  }
}

W3C 日志配置

W3C日志同样默认排除401请求,可通过W3CLoggerOptions添加目标状态码:

builder.Services.AddW3CLogging(options =>
{
    // 添加401到要记录的状态码列表
    options.StatusCodes.Add(StatusCodes.Status401Unauthorized);
    // 若要完全替换默认状态码列表,直接赋值即可:options.StatusCodes = new List<int> { 200, 401, 404 };
    // 其他基础配置(按需调整)
    options.FileSizeLimit = 5 * 1024 * 1024;
    options.RetainedFileCountLimit = 10;
});

对应的日志级别配置:

{
  "Logging": {
    "LogLevel": {
      "Microsoft.AspNetCore.W3CLogging.W3CLogger": "Information"
    }
  }
}

内容的提问来源于stack exchange,提问作者uhrm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 00:43:23