I use nlog and following setting to log sql queries:
<logger name="Microsoft.EntityFrameworkCore.*"
minlevel="Trace" writeTo="sqllogfile" final="true" />
It works as expected, but doesn't log parameter values, the queries look like this:
2017-07-31 13:49:03.8836| INFO |Microsoft.EntityFrameworkCore.Internal.InterceptingLogger`1.Log|Executed DbCommand (8ms) [Parameters=[@__get_Item_0='?' (Size = 450)], CommandType='Text', CommandTimeout='30']
SELECT TOP(1) [e].[Id], [e].[AccessFailedCount], [e].[ConcurrencyStamp], [e].[Email], [e].[EmailConfirmed], [e].[HeliosLoginId], [e].[LockoutEnabled], [e].[LockoutEnd], [e].[Name], [e].[NormalizedEmail], [e].[NormalizedUserName], [e].[PasswordHash], [e].[PhoneNumber], [e].[PhoneNumberConfirmed], [e].[SecurityStamp], [e].[TwoFactorEnabled], [e].[UserName]
FROM [AspNetUsers] AS [e]
WHERE [e].[Id] = @__get_Item_0
Is it possible to show value of the @__get_Item_0 parameter ?
Thank you
DbContextOptionsBuildercallEnableSensitiveDataLoggingBy default EF Core does not log values since values may contain sensitive data.