public BsonDocument CreateBsonDocument(LogEventInfo logEvent) { var document = new BsonDocument(); //基础信息 if (IncloudBaseInfo && logEvent != null) { document.Add("TimeStamp", logEvent.TimeStamp); document.Add("Level", logEvent.Level.Name); document.Add("Message", logEvent.FormattedMessage); document.Add("LoggerName", logEvent.LoggerName); } ; //自定义字段 if (IncloudCustomFields && CustomFields.Any()) { foreach (var field in CustomFields) { var bsonValue = GetBsonValueWithField(logEvent, field); if (bsonValue == null) { continue; } document.Add(field.Name, bsonValue); } } //事件属性 if (IncloudEventProperties && logEvent.HasProperties) { foreach (var property in logEvent.Properties) { var propertyKey = property.Key.ToString(); var propertyValue = property.Value.ToString(); if (IgnoredEventProperties.Contains(propertyKey) || document.Contains(propertyKey)) { continue; } document.Add(propertyKey, propertyValue); } } //异常堆栈 if (logEvent.Exception != null) { document.Add("Exception", new BsonDocument() { { "Message", logEvent.Exception.Message }, { "Source", logEvent.Exception.Source }, { "StackTrace", logEvent.Exception.StackTrace.Trim() }, }); } return(document); }
public BsonDocument CreateBsonDocument(LogEventInfo logEvent) { var document = new BsonDocument(); if (IncloudBaseInfo && logEvent != null) { document.Add("timestamp", logEvent.TimeStamp); document.Add("level", logEvent.Level.Name); document.Add("message", logEvent.FormattedMessage); document.Add("loggerName", logEvent.LoggerName); } ; if (IncloudCustomFields && CustomFields.Any()) { foreach (var field in CustomFields) { var bsonValue = GetBsonValueWithField(logEvent, field); if (bsonValue != null) { document.Add(field.Name, bsonValue); } } } if (logEvent.Exception != null) { document.Add("exception", logEvent.GetExceptionDocument()); } //事件属性 if (IncloudEventProperties && logEvent.HasProperties) { foreach (var property in logEvent.Properties) { var propertyKey = property.Key.ToString(); if (IgnoredEventProperties.Contains(propertyKey)) { continue; } if (document.Contains(propertyKey)) { continue; } //document.Add(propertyKey,BsonValueConverter.); } } return(document); }
public BsonDocument CreateBsonDocument(LogEvent logEvent) { var document = new BsonDocument(); //基础信息 if (IncloudBaseInfo && logEvent != null) { document.Add("TimeStamp", logEvent.Timestamp.DateTime); document.Add("Level", logEvent.Level); var message = logEvent.RenderMessage(_formatProvider); document.Add("Message", message); document.Add("LoggerName", string.Empty); } ; //事件属性 if (IncloudEventProperties && logEvent.Properties.Count > 0) { foreach (var property in logEvent.Properties) { var propertyKey = property.Key.ToString(); var propertyValue = property.Value.ToString(); if (IgnoredEventProperties.Contains(propertyKey) || document.Contains(propertyKey)) { continue; } document.Add(propertyKey, propertyValue); } } //异常堆栈 if (logEvent.Exception != null) { document.Add("Exception", new BsonDocument() { { "Message", logEvent.Exception.Message }, { "Source", logEvent.Exception.Source }, { "StackTrace", logEvent.Exception.StackTrace.Trim() }, }); } return(document); }