public override void Render(LogEvent logEvent, TextWriter output) { if (_token.Alignment == null || !_theme.CanBuffer) { _renderer.Render(logEvent.MessageTemplate, logEvent.Properties, output); return; } var buffer = new StringWriter(); var invisible = _renderer.Render(logEvent.MessageTemplate, logEvent.Properties, buffer); var value = buffer.ToString(); Padding.Apply(output, value, _token.Alignment.Value.Widen(invisible)); }
static string Render(IFormatProvider formatProvider, string messageTemplate, params object[] properties) { var binder = new LoggerConfiguration().CreateLogger(); binder.BindMessageTemplate(messageTemplate, properties, out var mt, out var props); var output = new StringBuilder(); var writer = new StringWriter(output); var renderer = new ThemedMessageTemplateRenderer(ConsoleTheme.None, new ThemedDisplayValueFormatter(ConsoleTheme.None, formatProvider), false); renderer.Render(mt, props.ToDictionary(p => p.Name, p => p.Value), writer); writer.Flush(); return(output.ToString()); }
public override void Render(LogEvent logEvent, TextWriter output) { _renderer.Render(logEvent.MessageTemplate, logEvent.Properties, output); }