public string FormatMessage(LogEventInfo logEvent) { if (LogMessageStringFormatter.HasParameters(logEvent)) { using (var builder = _builderPool.Acquire()) { AppendToBuilder(logEvent, builder.Item); return(builder.Item.ToString()); } } return(logEvent.Message); }
/// <inheritDoc/> public bool HasProperties(LogEventInfo logEvent) { if (!LogMessageStringFormatter.HasParameters(logEvent)) { return(false); } if (_singleTargetOnly) { // Perform quick check for valid message template parameter names (No support for rewind if mixed message-template) TemplateEnumerator holeEnumerator = new TemplateEnumerator(logEvent.Message); if (holeEnumerator.MoveNext() && holeEnumerator.Current.MaybePositionalTemplate) { return(false); // Skip allocation of PropertiesDictionary } } return(true); // Parse message template and allocate PropertiesDictionary }