Entity Framework Core: 로깅

4473 단어
애플리케이션에서 EF Core를 사용할 때 디버그 목적으로 생성된 쿼리를 확인하려고 합니다. 그리고 실제로 설정하기가 매우 쉽습니다.

ASP.NET



가장 쉽게 구성하는 방법은 appsettings.json에 있습니다. LogLevel 노드에 EF 관련 범주 및 수준을 추가합니다. 찾을 수 있습니다categories choices here

{  
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning",
      "Microsoft.EntityFrameworkCore.Database": "Information"
    }
  }
...
}


C# 코드



구성이 작동하지 않으면 언제든지 C# 코드를 사용하여 로깅을 활성화할 수 있습니다.

DbContext 클래스의 OnConfiguring 메서드에서 로깅 설정을 추가할 수 있습니다. 다음 예제 세트:
  • 정보 LogLevel
  • 데이터베이스 범주
  • 디버그 콘솔로 출력(Visual Studio 출력)

  • protected override void OnConfiguring(DbContextOptionsBuilder options)
    {
        options
            .LogTo(m => Debug.WriteLine(m), new[] { DbLoggerCategory.Database.Name }, LogLevel.Information)
            .EnableSensitiveDataLogging()
            .UseXXX();
    }
    


    콘솔에 로그인하려면 첫 번째 인수를 변경하기만 하면 됩니다.

    protected override void OnConfiguring(DbContextOptionsBuilder options)
    {
        options
            .LogTo(Console.WriteLine, new[] { DbLoggerCategory.Database.Name }, LogLevel.Information)
            .EnableSensitiveDataLogging()
            .UseXXX();
    }
    


    요약



    물론 더 세분화된 수준으로 로깅을 구성할 수 있는 더 많은 방법이 있습니다. 자세한 내용은 EF Logging Doc을 참조하십시오.

    좋은 웹페이지 즐겨찾기