Exemplo n.º 1
0
        /// <summary>
        /// Writes a group metadata item to the storage
        /// </summary>
        /// <param name="item">Group metadata item</param>
        /// <returns>Task process</returns>
        public Task WriteAsync(IGroupMetadata item)
        {
            if (!StringBuilderPool.TryPop(out var strBuffer))
            {
                strBuffer = new StringBuilder();
            }

            strBuffer.Append(item.Timestamp.GetTimeSpanFormat());
            strBuffer.AppendFormat("{0, 11}: ", "GroupInfo");
            strBuffer.Append(item.GroupName);
            if (item.Items != null)
            {
                strBuffer.Append("[");
                var count = item.Items.Length;
                for (var i = 0; i < count; i++)
                {
                    var keyValue = item.Items[i];
                    strBuffer.AppendFormat("{0} = {1}", keyValue.Key, keyValue.Value);
                    if (i < count - 1)
                    {
                        strBuffer.Append(", ");
                    }
                }
                strBuffer.Append("] ");
            }
            System.Diagnostics.Trace.WriteLine(strBuffer.ToString());
            strBuffer.Clear();
            StringBuilderPool.Push(strBuffer);
            return(Task.CompletedTask);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Writes a group metadata item to the storage
        /// </summary>
        /// <param name="item">Group metadata item</param>
        /// <returns>Task process</returns>
        public async Task WriteAsync(IGroupMetadata item)
        {
            EnsureLogFile(FileName);
            if (_sWriter is null)
            {
                return;
            }
            if (!StringBuilderPool.TryPop(out var strBuffer))
            {
                strBuffer = new StringBuilder();
            }
            if (_firstWrite)
            {
                strBuffer.AppendLine();
                strBuffer.AppendLine();
                strBuffer.AppendLine();
                strBuffer.AppendLine();
                strBuffer.AppendLine();
                strBuffer.AppendLine("-.");
                _firstWrite = false;
            }
            if (item == null || string.IsNullOrWhiteSpace(item.GroupName))
            {
                return;
            }

            strBuffer.Append(item.Timestamp.GetTimeSpanFormat());
            strBuffer.AppendFormat("{0, 11}: ", "GroupInfo");
            strBuffer.Append(item.GroupName + " | ");
            if (item.Items != null)
            {
                strBuffer.Append("[");
                var count = item.Items.Length;
                for (var i = 0; i < count; i++)
                {
                    var keyValue = item.Items[i];
                    strBuffer.AppendFormat("{0} = {1}", keyValue.Key, keyValue.Value);
                    if (i < count - 1)
                    {
                        strBuffer.Append(", ");
                    }
                }
                strBuffer.Append("] ");
            }
            var message = strBuffer.ToString();

            strBuffer.Clear();
            StringBuilderPool.Push(strBuffer);

            await _sWriter.WriteLineAsync(message).ConfigureAwait(false);

            Interlocked.Exchange(ref _shouldFlush, 1);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Writes a group metadata item to the storage
        /// </summary>
        /// <param name="item">Group metadata item</param>
        /// <returns>Task process</returns>
        public async Task WriteAsync(IGroupMetadata item)
        {
            EnsureLogFile(FileName);
            if (_sWriter is null)
            {
                return;
            }
            if (!StringBuilderPool.TryPop(out var strBuffer))
            {
                strBuffer = new StringBuilder();
            }
            var time   = item.Timestamp.GetTimeSpanFormat();
            var format = PreFormat;

            if (_firstWrite)
            {
                strBuffer.AppendFormat(PreFormat, "EmptyLine", "<br/>");
                strBuffer.AppendFormat(PreFormat, "EmptyLine", "<br/>");
                strBuffer.AppendFormat(PreFormat, "EmptyLine", "<br/>");
                strBuffer.AppendFormat(PreFormat, "EmptyLine", "<br/>");
                strBuffer.AppendFormat(PreFormat, "EmptyLine", "<br/>");
                strBuffer.AppendFormat(PreFormatWTime, "Start", "&#8615; START &#8615;", time);
                _firstWrite = false;
            }
            strBuffer.Append(time);
            strBuffer.AppendFormat("{0, 11}: ", "GroupInfo");
            strBuffer.Append(item.GroupName + " | ");
            if (item.Items != null)
            {
                strBuffer.Append("[");
                var count = item.Items.Length;
                for (var i = 0; i < count; i++)
                {
                    var keyValue = item.Items[i];
                    strBuffer.AppendFormat("{0} = {1}", keyValue.Key, System.Security.SecurityElement.Escape(keyValue.Value));
                    if (i < count - 1)
                    {
                        strBuffer.Append(", ");
                    }
                }
                strBuffer.Append("] ");
            }
            var message = strBuffer.ToString();

            strBuffer.Clear();
            StringBuilderPool.Push(strBuffer);
            await _sWriter.WriteAsync(string.Format(format, "GroupMetadata", message)).ConfigureAwait(false);

            Interlocked.Exchange(ref _shouldFlush, 1);
        }
Exemplo n.º 4
0
        public Task WriteAsync(IGroupMetadata item)
        {
            if (!HasConsole)
            {
                return(Task.CompletedTask);
            }
            if (item == null || string.IsNullOrWhiteSpace(item.GroupName))
            {
                return(Task.CompletedTask);
            }

            if (!StringBuilderPool.TryPop(out var strBuffer))
            {
                strBuffer = new StringBuilder();
            }

            strBuffer.Append(item.Timestamp.GetTimeSpanFormat());
            strBuffer.AppendFormat("{0, 11}: ", "GroupInfo");
            strBuffer.Append(item.GroupName + " | ");
            if (item.Items != null)
            {
                strBuffer.Append("[");
                var count = item.Items.Length;
                for (var i = 0; i < count; i++)
                {
                    var keyValue = item.Items[i];
                    strBuffer.AppendFormat("{0} = {1}", keyValue.Key, keyValue.Value);
                    if (i < count - 1)
                    {
                        strBuffer.Append(", ");
                    }
                }
                strBuffer.Append("] ");
            }
            strBuffer.AppendLine();

            var message = strBuffer.ToString();
            var color   = DefaultColor;

            strBuffer.Clear();
            StringBuilderPool.Push(strBuffer);

            if (UseColor)
            {
                color = ConsoleColor.Cyan;
            }
            nonBlockingConsole.Write(message, color);
            return(Task.CompletedTask);
        }
Exemplo n.º 5
0
 /// <summary>
 /// Writes a group metadata item to the storage
 /// </summary>
 /// <param name="item">Group metadata item</param>
 /// <returns>Task process</returns>
 public Task WriteAsync(IGroupMetadata item)
 {
     if (!_enabled)
     {
         return(Task.CompletedTask);
     }
     if (Interlocked.Increment(ref _count) < 10_000)
     {
         _sourceItems.Add(new GroupSourceData
         {
             instanceId = item.InstanceId,
             timestamp  = item.Timestamp,
             groupName  = item.GroupName,
             items      = item.Items,
         });
     }
     return(Task.CompletedTask);
 }
Exemplo n.º 6
0
        /// <summary>
        /// Writes a group metadata item to the storage
        /// </summary>
        /// <param name="item">Group metadata item</param>
        /// <returns>Task process</returns>
        public async Task WriteAsync(IGroupMetadata item)
        {
            if (!SendGroupMetadata)
            {
                return;
            }
            var msg = string.Format("{0}\r\nMachine Name: {1} [{2}]\r\nAplicationName: {3}\r\nGroup: {4}\r\n", item.Timestamp.ToString("dd/MM/yyyy HH:mm:ss"), Core.MachineName, Core.EnvironmentName, Core.ApplicationName, item.GroupName);

            if (item.Items != null)
            {
                var count = item.Items.Length;
                for (var i = 0; i < count; i++)
                {
                    var keyValue = item.Items[i];
                    msg += string.Format("{0}={1}\r\n", keyValue.Key, keyValue.Value);
                }
            }
            await Bot.SendTextMessageToTrackedChatsAsync(msg).ConfigureAwait(false);
        }
Exemplo n.º 7
0
 /// <summary>
 /// Writes a group metadata item to the storage
 /// </summary>
 /// <param name="item">Group metadata item</param>
 /// <returns>Task process</returns>
 public Task WriteAsync(IGroupMetadata item)
 {
     if (!_enabled)
     {
         return(Task.CompletedTask);
     }
     if (Interlocked.Increment(ref _count) < 10_000)
     {
         _items.Add(new GroupMetadata
         {
             InstanceId      = Core.InstanceId,
             Timestamp       = item.Timestamp,
             EnvironmentName = item.EnvironmentName,
             GroupName       = item.GroupName,
             Items           = item.Items
         });
     }
     return(Task.CompletedTask);
 }
Exemplo n.º 8
0
 /// <summary>
 /// Writes a group metadata item to the storage
 /// </summary>
 /// <param name="item">Group metadata item</param>
 /// <returns>Task process</returns>
 public Task WriteAsync(IGroupMetadata item)
 {
     return(Task.CompletedTask);
 }