[英]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.