public string Format(Entry entry)
        {
            int slot;
            var sb = FixedStringBuilderPool.Get(out slot);

            try
            {
                sb.Append(_apiKey);
                sb.Append(" {");

                sb.Append($"\"message\":\"{entry.Message}\"");
                sb.Append(",");
                sb.Append($"\"application\":\"{_applicationName}\"");
                sb.Append(",");
                sb.Append($"\"hostname\":\"{_hostName}\"");
                sb.Append(",");
                sb.Append($"\"level\":\"{entry.Level}\"");
                sb.Append(",");
                sb.Append($"\"date\":\"{entry.TimeStamp.ToString()}\"");
                sb.Append(",");
                sb.Append($"\"tag\":\"{entry.Tag}\"");

                sb.AppendLine("}");
                return(sb.ToString());
            }
            finally
            {
                FixedStringBuilderPool.Return(slot, sb);
            }
        }
Beispiel #2
0
        private string CombineCategories(long categories)
        {
            int num;
            var sb = FixedStringBuilderPool.Get(out num);

            try
            {
                sb.Append(Separator);
                foreach (var value in _categoryRegistry.GetAll())
                {
                    if ((value & categories) == value)
                    {
                        sb.Append(_categoryRegistry.Get(value));
                        sb.Append(Separator);
                    }
                }

                return(sb.ToString());
            }
            finally
            {
                FixedStringBuilderPool.Return(num, sb);
            }
        }