public ConstructProperties ( Serilog.Events.MessageTemplate messageTemplate, object messageTemplateParameters ) : IEnumerable |
||
messageTemplate | Serilog.Events.MessageTemplate | The template that the parameters apply to. |
messageTemplateParameters | object | Objects corresponding to the properties /// represented in the message template. |
Результат | IEnumerable |
static string Render(string messageTemplate, params object[] properties) { var mt = new MessageTemplateParser().Parse(messageTemplate); var binder = new PropertyBinder(new PropertyValueConverter(Enumerable.Empty<Type>(), Enumerable.Empty<IDestructuringPolicy>())); var props = binder.ConstructProperties(mt, properties); var output = new StringBuilder(); var writer = new StringWriter(output); mt.Render(props.ToDictionary(p => p.Name), writer); writer.Flush(); return output.ToString(); }
static IEnumerable<LogEventProperty> Capture(string messageTemplate, params object[] properties) { var mt = new MessageTemplateParser().Parse(messageTemplate); var binder = new PropertyBinder( new PropertyValueConverter(10, Enumerable.Empty<Type>(), Enumerable.Empty<IDestructuringPolicy>(), false)); return binder.ConstructProperties(mt, properties); }
public void Process(string messageTemplate, object[] messageTemplateParameters, out MessageTemplate parsedTemplate, out IEnumerable <LogEventProperty> properties) { parsedTemplate = _parser.Parse(messageTemplate); properties = _propertyBinder.ConstructProperties(parsedTemplate, messageTemplateParameters); }
static string Render(IFormatProvider formatProvider, string messageTemplate, params object[] properties) { var mt = new MessageTemplateParser().Parse(messageTemplate); var binder = new PropertyBinder(new PropertyValueConverter(10, Enumerable.Empty<Type>(), Enumerable.Empty<IDestructuringPolicy>())); var props = binder.ConstructProperties(mt, properties); var output = new StringBuilder(); var writer = new StringWriter(output); var dict = System.Collections.Generic.Net40ReadOnlyDictionaryExtensions .ToDictionary40(props, p => p.Name, p => p.Value); mt.Render(dict, writer, formatProvider); writer.Flush(); return output.ToString(); }