Example #1
0
        private static ILogMessage MakeCore(StringBuilder builder, ILogField[] fields)
        {
            if (fields != null && fields.Length > 0)
            {
                // Автоматическое добавление завершающей точки
                if (builder.Length > 0 && builder[builder.Length - 1] != '.')
                {
                    builder.Append('.');
                }

                // Автоматическое добавление завершающего пробела
                if (builder.Length > 0 && !char.IsWhiteSpace(builder[builder.Length - 1]))
                {
                    builder.Append(' ');
                }

                for (var i = 0; i < fields.Length; i++)
                {
                    builder.Append(fields[i].Print(PrintOption.Default));
                    if (i != fields.Length - 1)
                    {
                        builder.Append(", ");
                    }

                    (fields[i] as IReusable)?.Release();
                }
            }

            return(LogMessageImpl.Create(LocalStringBuilderCache.GetStringAndRelease(builder)));
        }
Example #2
0
        public static ILogMessage FormatString(string format, params object[] args)
        {
            var formattedString = FormattingHelper.FormatMessage(format, args);

            return(LogMessageImpl.Create(formattedString));
        }
Example #3
0
        /// <summary>
        ///     Отформатировать сообщение (из $-строки)
        /// </summary>
        public static ILogMessage Format(FormattableString str)
        {
            var formattedString = FormattingHelper.FormatMessage(str);

            return(LogMessageImpl.Create(formattedString));
        }