private static LogEventInfo GenericToSpecific(GenericLogEventInfo logEvent) { var logEventInfo = new LogEventInfo(LogLevel.FromOrdinal((int)logEvent.LogLevel), logEvent.MessageType, logEvent.Message); if (logEvent.Exception != null) { logEventInfo.Exception = logEvent.Exception; } logEventInfo.Properties["internalLog"] = AggregatePushLogItems(logEvent.PushLog); logEventInfo.Properties["data"] = logEvent.Data; foreach (var property in logEvent.ExtraProperties) { logEventInfo.Properties[property.Key] = property.Value; } return(logEventInfo); }
public void Log(string loggerName, GenericLogEventInfo logEvent) { var logger = Serilog.Log.Logger.ForContext("loggerName", loggerName) .ForContext("data", logEvent.Data) .ForContext("internalLog", AggregatePushLogItems(logEvent.PushLog)) .ForContext("messageType", logEvent.MessageType); try{ foreach (var extraProperty in logEvent.ExtraProperties) { logger = logger.ForContext(extraProperty.Key, extraProperty.Value); } } catch (Exception ex) { Debug.Assert(true, "Serilog Agent Context Generation Threw Exception", ex.Message); } logger.Write(GenericToSpecificLogLevel(logEvent.LogLevel), logEvent.Exception, logEvent.Message); }
public void Log(string loggerName, GenericLogEventInfo logEvent) { LogManager.GetLogger(loggerName).Log(GenericToSpecific(logEvent)); }