/// <summary> /// Builds the specified log event. /// </summary> /// <param name="logEvent">The log event.</param> /// <returns></returns> public virtual JObject Build(LogEvent logEvent) { var message = logEvent.RenderMessage(); var shortMessage = message.Truncate(Options.ShortMessageMaxLength); var gelfMessage = new GelfMessage { Version = GelfVersion, Host = hostName, ShortMessage = shortMessage, FullMessage = message, Timestamp = logEvent.Timestamp.DateTime.ConvertToNix(), Level = LogLevelMapper.GetMappedLevel(logEvent.Level), StringLevel = logEvent.Level.ToString(), Facility = Options.Facility }; var jsonObject = JObject.FromObject(gelfMessage); foreach (var property in logEvent.Properties) { AddAdditionalField(jsonObject, property); } return(jsonObject); }
public virtual JObject Build(LogEvent logEvent) { string message = logEvent.RenderMessage(); string shortMessage = message.ShortMessage(Options.ShortMessageMaxLength); var gelfMessage = new GelfMessage { Version = GelfVersion, Host = _hostName, ShortMessage = shortMessage, FullMessage = message, Timestamp = logEvent.Timestamp.DateTime, Level = LogLevelMapper.GetMappedLevel(logEvent.Level), StringLevel = logEvent.Level.ToString(), Facility = Options.Facility }; JObject jsonObject = JObject.FromObject(gelfMessage); foreach (KeyValuePair <string, LogEventPropertyValue> property in logEvent.Properties) { AddAdditionalField(jsonObject, property); } return(jsonObject); }
protected void LoggerOutput_DrawItem(object sender, DrawItemEventArgs e) { if (e?.Index >= 0) { LogItem item = (LogItem)LoggerOutput.Items[e.Index]; e.DrawBackground(); Graphics g = e.Graphics; g.FillRectangle(new SolidBrush(LogLevelMapper.ColorFromLevel(item.LogLevel)), e.Bounds); g.DrawString(item.LogMessage, e.Font, new SolidBrush(e.ForeColor), new PointF(e.Bounds.X, e.Bounds.Y)); e.DrawFocusRectangle(); } }
/// <summary> /// Builds the specified log event. /// </summary> /// <param name="logEvent">The log event.</param> /// <returns></returns> public virtual JObject Build(LogEvent logEvent) { string message = logEvent.RenderMessage(); string shortMessage = message.Truncate(Options.ShortMessageMaxLength); var gelfMessage = new GelfMessage { Version = DefaultGelfVersion, Host = Options.Host ?? _hostName, ShortMessage = shortMessage, Timestamp = logEvent.Timestamp.ConvertToNix(), Level = LogLevelMapper.GetMappedLevel(logEvent.Level), StringLevel = logEvent.Level.ToString(), Facility = Options.Facility }; if (message.Length > Options.ShortMessageMaxLength) { gelfMessage.FullMessage = message; } JObject jsonObject = JObject.FromObject(gelfMessage); foreach (KeyValuePair <string, LogEventPropertyValue> property in logEvent.Properties) { AddAdditionalField(jsonObject, property); } if (Options.IncludeMessageTemplate) { string messageTemplate = logEvent.MessageTemplate.Text; jsonObject.Add($"_{Options.MessageTemplateFieldName}", messageTemplate); } return(jsonObject); }