/// <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); }
/// <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); }
/// <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", "↧ START ↧", 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); }
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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }