public AzureLoggingEventEntity(LoggingEvent e, PartitionKeyTypeEnum partitionKeyType) { Domain = e.Domain; Identity = e.Identity; Level = e.Level.ToString(); var sb = new StringBuilder(e.Properties.Count); foreach (DictionaryEntry entry in e.Properties) { sb.AppendFormat("{0}:{1}", entry.Key, entry.Value); sb.AppendLine(); } Properties = sb.ToString(); Message = e.RenderedMessage + Environment.NewLine + e.GetExceptionString(); ThreadName = e.ThreadName; EventTimeStamp = e.TimeStamp; UserName = e.UserName; Location = e.LocationInformation.FullInfo; ClassName = e.LocationInformation.ClassName; FileName = e.LocationInformation.FileName; LineNumber = e.LocationInformation.LineNumber; MethodName = e.LocationInformation.MethodName; StackFrames = e.LocationInformation.StackFrames; if (e.ExceptionObject != null) { Exception = e.ExceptionObject.ToString(); } PartitionKey = e.MakePartitionKey(partitionKeyType); RowKey = e.MakeRowKey(); }
public AzureDynamicLoggingEventEntity(LoggingEvent e, PartitionKeyTypeEnum partitionKeyType) { this["Domain"] = e.Domain; this["Identity"] = e.Identity; this["Level"] = e.Level.ToString(); this["LoggerName"] = e.LoggerName; this["Message"] = e.RenderedMessage + Environment.NewLine + e.GetExceptionString(); this["EventTimeStamp"] = e.TimeStamp; this["ThreadName"] = e.ThreadName; this["UserName"] = e.UserName; this["Location"] = e.LocationInformation.FullInfo; if (e.ExceptionObject != null) { this["Exception"] = e.ExceptionObject.ToString(); } foreach (DictionaryEntry entry in e.Properties) { var key = entry.Key.ToString() .Replace(":", "_") .Replace("@", "_") .Replace(".", "_"); this[key] = entry.Value; } Timestamp = e.TimeStamp; PartitionKey = e.MakePartitionKey(partitionKeyType); RowKey = e.MakeRowKey(); }
public AzureLayoutLoggingEventEntity(LoggingEvent e, PartitionKeyTypeEnum partitionKeyType, ILayout layout) { Level = e.Level.ToString(); Message = e.RenderedMessage + Environment.NewLine + e.GetExceptionString(); ThreadName = e.ThreadName; EventTimeStamp = e.TimeStamp; using (var w = new StringWriter()) { layout.Format(w, e); Message = w.ToString(); } PartitionKey = e.MakePartitionKey(partitionKeyType); RowKey = e.MakeRowKey(); }