2

我在 .Net 核心 EF 应用程序中使用 EnableRetryOnFailure 并根据https://www.npgsql.org/efcore/misc/other.html添加了逻辑。我希望能够判断这些事件何时/是否发生,以确认它正在工作,而不仅仅是没有任何瞬时连接错误。

在此先感谢您的任何指点。鲁文

4

1 回答 1

0

可以通过上下文类中的覆盖来启用日志记录。

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.LogTo(
        filter: (eventId, level) => eventId.Id == CoreEventId.ExecutionStrategyRetrying,
        logger: (eventData) =>
        {
            var retryEventData = eventData as ExecutionStrategyEventData;
            var exceptions = retryEventData.ExceptionsEncountered;
            Console.WriteLine($"Retry #{exceptions.Count} with delay {retryEventData.Delay} due to error: {exceptions.Last().Message}");
        });
}

资料来源:https ://makolyte.com/how-to-do-retries-in-ef-core/

于 2021-12-01T16:55:32.853 回答