簡體   English   中英

如何登錄Entity Framework Core UseSqlServer重試

[英]How to log in Entity Framework Core UseSqlServer Retries

我已經使用實體框架核心2.1在DbContextOptionsBuilder.UseSqlServer配置了重試策略。

這是代碼示例:

DbContextOptionsBuilder<T> builder = new DbContextOptionsBuilder<T>();
builder.UseSqlServer(ConnectionString, sqloptions => {
                sqloptions.EnableRetryOnFailure(
                    maxRetryCount: 5,
                    maxRetryDelay: TimeSpan.FromSeconds(30),
                    errorNumbersToAdd: new List<int>(){});
            });

上面的代碼有效,但是我不知道如何在重試過程中添加日志記錄。

我在這里檢查了一個相關的問題: azure sql數據庫,但是該問題與實體框架6和sql azure有關。

有人可以建議如何在重試策略中添加日志記錄嗎? 例如,在重試過程中,它將打印一條日志,顯示等待#5中的第1個重試?

謝謝。

您可以在OnConfiguring方法中將日志記錄添加到DbContext中。 UseLoggerFactory方法使用LoggerFactory,這是asp.net的核心loggerFactory。

這應該將重試寫入您的日志。

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
    base.OnConfiguring(optionsBuilder);
    optionsBuilder.UseLoggerFactory(LoggerFactory);
}

您可以在此處找到詳細信息

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM