public ThemedMessageTemplateRenderer(ConsoleTheme theme, ThemedValueFormatter valueFormatter, bool isLiteral) { _theme = theme ?? throw new ArgumentNullException(nameof(theme)); _valueFormatter = valueFormatter; _isLiteral = isLiteral; _unthemedValueFormatter = valueFormatter.SwitchTheme(NoTheme); }
int RenderValue(ConsoleTheme theme, ThemedValueFormatter valueFormatter, LogEventPropertyValue propertyValue, TextWriter output, string format) { if (_isLiteral && propertyValue is ScalarValue sv && sv.Value is string) { var count = 0; using (theme.Apply(output, ConsoleThemeStyle.String, ref count)) output.Write(sv.Value); return(count); } return(valueFormatter.Format(propertyValue, output, format, _isLiteral)); }
private int RenderValue(RichTextBoxTheme theme, ThemedValueFormatter valueFormatter, LogEventPropertyValue propertyValue, TextWriter output, string format) { if (_isLiteral && propertyValue is ScalarValue { Value : string } sv) { var count = 0; using (theme.Apply(output, RichTextBoxThemeStyle.String, ref count)) { var text = SpecialCharsEscaping.Apply(sv.Value.ToString(), ref count); output.Write(text); } return(count); } return(valueFormatter.Format(propertyValue, output, format, _isLiteral)); }
public PropertiesTokenRenderer(ConsoleTheme theme, PropertyToken token, MessageTemplate outputTemplate, IFormatProvider formatProvider) { _outputTemplate = outputTemplate; _theme = theme ?? throw new ArgumentNullException(nameof(theme)); _token = token ?? throw new ArgumentNullException(nameof(token)); var isJson = false; if (token.Format != null) { for (var i = 0; i < token.Format.Length; ++i) { if (token.Format[i] == 'j') { isJson = true; } } } _valueFormatter = isJson ? (ThemedValueFormatter) new ThemedJsonValueFormatter(theme, formatProvider) : new ThemedDisplayValueFormatter(theme, formatProvider); }
public MessageTemplateOutputTokenRenderer(ConsoleTheme theme, PropertyToken token, IFormatProvider formatProvider, bool jsonMultiline) { _theme = theme ?? throw new ArgumentNullException(nameof(theme)); _token = token ?? throw new ArgumentNullException(nameof(token)); bool isLiteral = false, isJson = false; if (token.Format != null) { for (var i = 0; i < token.Format.Length; ++i) { if (token.Format[i] == 'l') { isLiteral = true; } else if (token.Format[i] == 'j') { isJson = true; } } } ThemedValueFormatter valueFormatter = null; if (isJson) { valueFormatter = jsonMultiline ? (ThemedValueFormatter) new ThemedJsonValueFormatter(theme, formatProvider) : (ThemedValueFormatter) new ThemedJsonMultilineValueFormatter(theme, formatProvider); } else { valueFormatter = new ThemedDisplayValueFormatter(theme, formatProvider); } _renderer = new ThemedMessageTemplateRenderer(theme, valueFormatter, isLiteral); }