Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        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);
            }
        }