Skip to content

ServiceProviderCreated never seems to get logged #30539

@roji

Description

@roji

Repro:

await using var ctx = new BlogContext();
await ctx.Database.EnsureDeletedAsync();
await ctx.Database.EnsureCreatedAsync();

_ = ctx.Blogs.ToList();

public class BlogContext : DbContext
{
    public DbSet<Blog> Blogs { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        => optionsBuilder
            .UseSqlServer(@"Server=localhost;Database=test;User=SA;Password=Abcd5678;Connect Timeout=60;ConnectRetryCount=0;Encrypt=false")
            .LogTo(Console.WriteLine, new[] { CoreEventId.ServiceProviderCreated })
            .EnableSensitiveDataLogging();
}

public class Blog
{
    public int Id { get; set; }
    public string? Name { get; set; }
}

At the point where we call NeedsEventData to check whether simple logging is enabled, DbContextLogger is still NullDbContextLogger and so ShouldLog always returns false (i.e. logging hasn't yet been properly set up).

I think there may be other similar events (e.g. ServiceProviderDebugInfo).

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions