首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义存储请求的.NET HttpLogging

自定义存储请求的.NET HttpLogging
EN

Stack Overflow用户
提问于 2022-09-21 12:56:41
回答 1查看 76关注 0票数 0

我们在.NET 6中工作,希望记录所有传入的请求。我们计划允许这主要是在DEV和测试环境,但潜在和暂时也在PROD。

新的HttpLogger听起来像一个完美的匹配。但是它将输出到标准的ILogger,在我们的例子中是弹性的。从探地雷达的原因来看,我们希望避免潜在敏感数据不受控制地暴露的情况。

有没有人有其他的解决方案:

  1. 将消息从HttpLogger重定向到其他存储
  2. 创建自定义中间件,以便能够嗅探请求并输出到自定义存储

我发现这篇关于读两遍身体的有趣文章,但没能让它发挥作用:https://codetalk.in/posts/2022/01/04/read-request-body-multiple-times-in-asp-dot-net-core

EN

回答 1

Stack Overflow用户

发布于 2022-09-26 10:59:59

您只需通过配置就可以做到这一点,例如在生产应用程序设置中,禁用弹性的HTTP日志记录,并为文件记录器启用它,类似的情况(实际上取决于您的记录器和配置):

代码语言:javascript
复制
{
    "Logging": {
        "LogLevel": {
            "Default": "Information",
            "Microsoft.AspNetCore.HttpLogging.HttpLoggingMiddleware": "Information"
        },
        "Elastic": {
            "IncludeScopes": true,
            "LogLevel": {
                "Default": "Information",
                "Microsoft.AspNetCore.HttpLogging.HttpLoggingMiddleware": "None"
            }
        },
        "File": 
        {
            "IncludeScopes": true,
            "LogLevel": {
                "Default": "None",
                "Microsoft.AspNetCore.HttpLogging.HttpLoggingMiddleware": "Information"
            }
        }
    }
}

为了更具限制性,请将生产中的HttpLoggingOptions配置为不记录某些字段(例如)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73801131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档