private GelfMessage CreateGelfJsonFromLoggingEvent(LogEventInfo logEventInfo) { var shortMessage = logEventInfo.FormattedMessage.Length > ShortMessageLength?logEventInfo.FormattedMessage.Substring(0, ShortMessageLength - 1) : logEventInfo.FormattedMessage; var gelfMessage = new GelfMessage { Facility = Facility ?? "GELF", FullMessage = logEventInfo.FormattedMessage, Host = Dns.GetHostName(), Level = logEventInfo.Level.GelfSeverity(), ShortMessage = shortMessage }; if (!string.IsNullOrWhiteSpace(logEventInfo.LoggerName)) { gelfMessage.Add("Logger", logEventInfo.LoggerName); } if (logEventInfo.Properties != null) { object notes; if (logEventInfo.Properties.TryGetValue("Notes", out notes)) { gelfMessage.Add("Notes", notes); } } if (logEventInfo.Exception == null) { return(gelfMessage); } var exceptioToLog = logEventInfo.Exception; gelfMessage.Add("ExceptionType", exceptioToLog.GetType().Name); gelfMessage.Add("ExceptionMessage", exceptioToLog.Message); gelfMessage.Add("Exception", exceptioToLog.ToString()); return(gelfMessage); }
private GelfMessage CreateFatalGelfJson(Exception exception) { var gelfMessage = new GelfMessage { Facility = Facility ?? "GELF", FullMessage = "Error sending message in NLog.Targets.Gelf", Host = Dns.GetHostName(), Level = LogLevel.Fatal.GelfSeverity(), ShortMessage = "Error sending message in NLog.Targets.Gelf" }; if (exception == null) { return(gelfMessage); } var exceptioToLog = exception; gelfMessage.Add("ExceptionType", exceptioToLog.GetType().Name); gelfMessage.Add("ExceptionMessage", exceptioToLog.Message); gelfMessage.Add("Exception", exceptioToLog.ToString()); return(gelfMessage); }