private string AddSpacing(ContextLogEntry entry) { var spacing = ""; for (var x = 0; x < entry.ContextDepth; x++) { spacing += "\t"; } return(spacing + entry.Message); }
private void LogEntry(ActionContext context, ContextLogEntry entry) { var logger = LogManager.GetLogger(entry.ContextName); var level = ConvertLogLevel(entry.LogLevel); var eventParams = GetEventParams(context, entry); var e = new LogEventInfo(level, logger.Name, entry.Message); eventParams.ToList().ForEach(x => e.Properties.Add(x.Key, x.Value)); logger.Log(e); }
private void LogEntry(ActionContext context, ContextLogEntry entry) { var prefix = _config.EntryLogNamePrefix ?? "entry_"; var logger = LogManager.GetLogger(prefix + entry.ContextName); var level = ConvertFromMsLogLevel(entry.LogLevel); var eventParams = GetEventParams(context, false, entry); var e = new LogEventInfo(level, logger.Name, entry.Message); eventParams.ToList().ForEach(x => e.Properties.Add(x.Key, x.Value)); logger.Log(e); }
private string AddSpacing(ContextLogEntry entry) { if (_config?.AddSpacingToEntries == null || !_config.AddSpacingToEntries) { return(entry.Message); } var spacing = ""; for (var x = 0; x < entry.ContextDepth; x++) { spacing += "\t"; } return(spacing + entry.Message); }
private IDictionary <object, object> GetEventParams(ActionContext context, ContextLogEntry entry = null) { var result = new Dictionary <object, object>(); result.Add("contextDepth", entry?.ContextDepth ?? context.Depth); result.Add("contextName", entry?.ContextName ?? context.ContextName); result.Add("timeElapsed", entry?.TimeElapsed ?? context.TimeElapsed); var sanitizedParams = context.State.Params .Select(p => new KeyValuePair <string, object>($"{p.Key.Substring(0, 1).ToLower()}{p.Key.Substring(1)}", p.Value)) .Where(p => p.Value != null) .ToList(); sanitizedParams.ForEach(p => result.Add(p.Key, p.Value)); return(result); }
private void LogEntry(IActionContext context, ContextLogEntry entry) { _memoryLogService.GetPendingMemoryLogs(); var prefix = _config.EntryLogNamePrefix ?? "entry_"; var logger = LogManager.GetLogger(prefix + entry.ContextName); var level = NlogLogLevelUtil.ConvertFromMsLogLevel(entry.LogLevel); var summary = ContextSummary.CreateFromContext(context); var e = new LogEventInfo(level, logger.Name, entry.Message); summary.Data.ToList().ForEach(x => e.Properties.Add(x.Key, x.Value)); logger.Log(e); LogManager.Flush(); }
private ContextLogEntry GetSummaryLogEntry(ActionContext context) { var entries = context.Logger.LogEntries.ToList(); var search = new[] { LogLevel.Critical, LogLevel.Error, LogLevel.Warning, LogLevel.Information, LogLevel.Debug, LogLevel.Trace, }; IEnumerable <ContextLogEntry> highest = null; foreach (var level in search) { highest = entries.Where(entry => entry.LogLevel == level); if (highest.Any()) { break; } } var highestLevel = highest.FirstOrDefault()?.LogLevel ?? LogLevel.Trace; var message = $"The context '{context.ContextName}' ended without error."; if (highestLevel == LogLevel.Error || highestLevel == LogLevel.Critical) { message = highest.Count() == 1 ? $"The context '{context.ContextName}' ended with an error. {highest.First().Message}" : $"The context '{context.ContextName}' ended with multiple errors."; } else if (highestLevel == LogLevel.Warning) { message = highest.Count() == 1 ? $"The context '{context.ContextName}' ended with a warning. {highest.First().Message}" : $"The context '{context.ContextName}' ended with multiple warnings."; } var result = new ContextLogEntry(0, context.ContextName, message, highestLevel, context.TimeElapsed); return(result); }