/// <summary> /// Extension for log request log entry model /// </summary> /// <param name="logger">The logger.</param> /// <param name="entry">Log entry</param> public static void LogRequestEntry(this Microsoft.Extensions.Logging.ILogger logger, VmRequestLogEntry entry) { if (logger == null) { throw new ArgumentNullException(nameof(logger)); } var genericArgs = logger.GetType().GenericTypeArguments; var loggerName = genericArgs.Any() ? genericArgs[0].FullName : logger.GetType().FullName; var nLogger = LogManager.GetLogger(loggerName); var eventInfo = LogEventInfo.Create(NLog.LogLevel.Info, loggerName, string.Empty); eventInfo.Properties["Method"] = entry.Method; eventInfo.Properties["Url"] = string.Format("\"{0}://{1}{2}{3}\"", entry.Scheme, entry.Host, entry.Action, entry.QueryString); eventInfo.Properties["User"] = entry.UserName; nLogger.Log(eventInfo); }
public static void LogDBEntries(this Microsoft.Extensions.Logging.ILogger logger, IList <VmLogEntry> logEntries) { if (logger == null) { throw new ArgumentNullException(nameof(logger)); } var genericArgs = logger.GetType().GenericTypeArguments; var loggerName = genericArgs.Any() ? genericArgs[0].FullName : logger.GetType().FullName; var nLogger = LogManager.GetLogger(loggerName); foreach (var entry in logEntries) { var eventInfo = LogEventInfo.Create(NLog.LogLevel.Info, loggerName, string.Empty); eventInfo.Properties["Operation"] = entry.Operation.ToString().ToUpper(); eventInfo.Properties["Table"] = entry.Table; eventInfo.Properties["RowId"] = entry.Identifier; eventInfo.Properties["User"] = entry.UserName; nLogger.Log(eventInfo); } }