Records the SQL statements generated by entityframework, and entityframeworksql
Interceptors (EF6.1 Onwards)
Starting with EF6.1 you can register interceptors in the config file. Interceptors allow you to run additional logic when EF performs certain operations, such as executing database queries, opening connections, etc.
Interceptors are registered by includingInterceptorElement underInterceptorsChild section ofEntityFrameworkSection. For example, the following configuration registers the built-inDatabaseLoggerInterceptor that will log all database operations to the Console.
<interceptors>
<interceptor type="System.Data.Entity.Infrastructure.Interception.DatabaseLogger, EntityFramework"/>
</interceptors>
Logging Database Operations to a File (EF6.1 Onwards)
Registering interceptors via the config file is especially useful when you want to add logging to an existing application to help debug an issue.DatabaseLoggerSupports logging to a file by supplying the file name as a constructor parameter.
<interceptors>
<interceptor type="System.Data.Entity.Infrastructure.Interception.DatabaseLogger, EntityFramework">
<parameters>
<parameter value="C:\Temp\LogOutput.txt"/>
</parameters>
</interceptor>
</interceptors>
By default this will cause the log file to be overwritten with a new file each time the app starts. To instead append to the log file if it already exists use something like:
<interceptors>
<interceptor type="System.Data.Entity.Infrastructure.Interception.DatabaseLogger, EntityFramework">
<parameters>
<parameter value="C:\Temp\LogOutput.txt"/>
<parameter value="true" type="System.Boolean"/>
</parameters>
</interceptor>
</interceptors>
For additional information onDatabaseLoggerAnd registering interceptors, see the blog post EF 6.1: Turning on logging without recompiling.