Example #1
0
 public override void Render(LogEvent logEvent, TokenEmitter emitToken)
 {
     if (logEvent.Exception is not null)
     {
         emitToken(logEvent.Exception.ToString());
     }
 }
        public override void Render(LogEvent logEvent, TokenEmitter emitToken)
        {
            var moniker       = LevelOutputFormat.GetLevelMoniker(logEvent.Level, _levelToken.Format);
            var alignedOutput = Padding.Apply(moniker, _levelToken.Alignment);

            emitToken(alignedOutput);
        }
Example #3
0
 public override void Render(LogEvent logEvent, TokenEmitter emitToken)
 {
     if (_alignment is not null)
     {
         emitToken(Padding.Apply(Environment.NewLine, _alignment.Value.Widen(Environment.NewLine.Length)));
     }
     else
     {
         emitToken(Environment.NewLine);
     }
 }
        public override void Render(LogEvent logEvent, TokenEmitter emitToken)
        {
            var included = logEvent.Properties
                           .Where(p => !TemplateContainsPropertyName(logEvent.MessageTemplate, p.Key) &&
                                  !TemplateContainsPropertyName(_outputTemplate, p.Key))
                           .Select(p => new LogEventProperty(p.Key, p.Value));

            foreach (var property in included)
            {
                emitToken(ObjectModelInterop.ToInteropValue(property.Value, _token.Format));
            }
        }
        public override void Render(LogEvent logEvent, TokenEmitter emitToken)
        {
            // If a property is missing, don't render anything (message templates render the raw token here).
            if (!logEvent.Properties.TryGetValue(_token.PropertyName, out var propertyValue))
            {
                if (_token.Alignment is not null)
                {
                    emitToken(Padding.Apply(string.Empty, _token.Alignment));
                }
                return;
            }

            var writer = new StringWriter();

            // If the value is a scalar string, support some additional formats: 'u' for uppercase
            // and 'w' for lowercase.
            if (propertyValue is ScalarValue {
                Value : string literalString
            })
Example #6
0
        public override void Render(LogEvent logEvent, TokenEmitter emitToken)
        {
            // We need access to ScalarValue.Render() to avoid this alloc; just ensures
            // that custom format providers are supported properly.
            var sv     = new ScalarValue(logEvent.Timestamp);
            var buffer = new StringWriter();

            sv.Render(buffer, _token.Format, _formatProvider);
            var str = buffer.ToString();

            if (_token.Alignment is not null)
            {
                emitToken(Padding.Apply(str, _token.Alignment));
            }
            else
            {
                emitToken(str);
            }
        }
Example #7
0
        public override void Render(LogEvent logEvent, TokenEmitter emitToken)
        {
            foreach (var token in logEvent.MessageTemplate.Tokens)
            {
                switch (token)
                {
                case TextToken tt:
                    emitToken(tt.Text);
                    break;

                case PropertyToken pt:
                    if (logEvent.Properties.TryGetValue(pt.PropertyName, out var propertyValue))
                    {
                        emitToken(ObjectModelInterop.ToInteropValue(propertyValue));
                    }
                    break;

                default:
                    throw new InvalidOperationException();
                }
            }
        }
 public override void Render(LogEvent logEvent, TokenEmitter emitToken)
 {
     emitToken(_text);
 }