【问题标题】:Microsoft.Extensions.Diagnostics.HealthChecks failure messageMicrosoft.Extensions.Diagnostics.HealthChecks 失败消息
【发布时间】:2020-01-23 21:21:25
【问题描述】:

Asp.Net Core 2.2.0

对于一个失败的健康检查如何返回

例如:

using Microsoft.Extensions.Diagnostics.HealthChecks;

public class SqlConnectionHealthCheck : IHealthCheck
{
    public async Task<HealthCheckResult> CheckHealthAsync(HealthCheckContext context, CancellationToken cancellationToken = default(CancellationToken))
    {
        try
        {
            // attempt connection to db
        }
        catch(DbException ex)
        {
            return new HealthCheckResult(status: context.Registration.FailureStatus, exception: ex);
        }

如果失败,浏览器会显示Unhealthy

如何显示异常消息和堆栈跟踪?

【问题讨论】:

    标签: asp.net-core diagnostics health-monitoring


    【解决方案1】:

    如何显示异常信息

    // one option:
    catch(DbException ex)
    {
        return new HealthCheckResult(status: context.Registration.FailureStatus, description: exception.Message, exception: ex);
    }
    

    和堆栈跟踪

    您确定要这样做吗?

    【讨论】:

    • 根据文档Description 是只读的。我不想显示异常消息的一些原因是什么?
    • @BaltoStar 我认为您可能需要重新考虑堆栈跟踪。通常,出于安全考虑,我会避免公开堆栈跟踪。
    猜你喜欢
    • 2019-07-07
    • 2019-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-18
    • 2016-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多