- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否可以使用特定于健康检查请求的默认 dotnetcore 日志来过滤日志?
因此,这将忽略对/health 等路径的请求
我可以看到按类别和类型可用的过滤,但这还不够,因为它也会阻止记录其他请求。
Serilog 等替代品可以做类似的事情,例如本指南:https://andrewlock.net/using-serilog-aspnetcore-in-asp-net-core-3-excluding-health-check-endpoints-from-serilog-request-logging/
如果失败,很可能是自定义记录器的情况。
最佳答案
在使用 serilog 的 .net core 3.1 中,如果以下选项,我们可以通过采用任何人来过滤健康检查。
需求 :排除所有健康的健康检查日志。
备注 :对于健康检查 UI,我使用 InMemoryStorage 作为存储提供程序。
选项 1 :这很简单,如果我们对具有 LogLevel 信息及以下信息的 EF 核心日志不感兴趣
appsetting.json
"Serilog": {
"MinimumLevel": {
"Default": "Verbose",
//Hp --> Logic: Override filters out logs that are all below the configured log level
"Override": {
...
"Microsoft.EntityFrameworkCore": "Warning",
"AspNetCore.HealthChecks.UI": "Warning",
"HealthChecks": "Warning"
...
}
},
"Filter": [
...
{ //Hp --> Logic: Filters all health check logs which are healthy
"Name": "ByExcluding",
"Args": {
"expression": "EndsWith(RequestPath, '/healthcheck') and StatusCode=200"
}
}
...
],
...
}
选项 2 :如果我们关注具有 LogLevel 信息及以上信息的 EF 核心日志,那么我们需要明确排除与健康检查相关的 EF 日志。
"Serilog": {
"MinimumLevel": {
"Default": "Verbose",
//Hp --> Logic: Override filters out logs that are all below the configured log level
"Override": {
...
"Microsoft.EntityFrameworkCore": "Information",
"AspNetCore.HealthChecks.UI": "Warning",
"HealthChecks": "Warning"
...
}
},
"Filter": [
...
{
"Name": "ByExcluding",
"Args": {
"expression": "contextType='HealthChecksDb' or options='StoreName=HealthChecksUI '"
}
},
{
"Name": "ByExcluding",
"Args": {
"expression": "Scope[?] = 'HealthReportCollector is collecting health checks results.'"
}
},
{ //Hp --> Logic: Exclude all logs which are related to database instance health checks
"Name": "ByExcluding",
"Args": {
"expression": "HealthCheckName='<xxx>DbContext' and StartsWith(EventId.Name,'Microsoft.EntityFrameworkCore')"
}
},
{ //Hp --> Logic: Filters all health check logs which are healthy
"Name": "ByExcluding",
"Args": {
"expression": "EndsWith(RequestPath, '/healthcheck') and StatusCode=200"
}
}
...
],
...
}
关于.net-core - 过滤 dotnetcore 运行状况检查日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60621931/
@messages = current_user.message_participantions.where(:read => false, :updated_at > 5.days.ago) 5 天
for ($i=1; $i query("UPDATE `jpa` SET `war` = $b WHERE `id` = $a"); $mysqli->query("UPDATE `
我试图根据数据中的 future 日期是否会发生条件来标记每一行。这种情况过去是否发生过并不重要。此外,我正在尝试按组执行此标记。 考虑这个问题的一个直观方法是是否有人会在未来购买裤子。 id
我的数据通过 ajax 返回到 Blade 中的表中,但我需要在返回的数据中使用过滤器。 示例 如果我使用 Blade 环,我可以使用@if ($loop->last)为了对我的最后一条记录进行特殊更
我有一个进程会触发多个请求,这些请求又会触发多个 Webhooks。当我收到所有网络钩子(Hook)时,我知道该过程已完成。我的模型看起来像这样。 { name: 'name', st
到目前为止,我知道 EOF 是一个特殊字符,自动插入到文本文件的末尾以指示其结束。但我现在觉得需要对此进行更多澄清。我在 Google 和 Wikipedia 页面上查看了 EOF,但他们无法回答以下
我在 javascript (React.j) 中编写了以下使用 for 循环的函数: getOpponentTeam: function(playerTeamId){ var matches =
我是 codeigniter 的新手,我想通过传递许多条件来选择用户的详细信息。我通过了一些条件,例如: $this->db->where ( 'userprofile.Disability', $
我是一名优秀的程序员,十分优秀!