/// <summary> /// Функция, выполняющая вывод информации о работе программы в специальное окно /// </summary> /// <param name="info">Строка с информацией, которую необходимо вывести</param> void ToLogTB(string Info) { // Проверка, из какого потока вызывается функция if (InvokeRequired) { // Если не из главного Invoke(new Action(() => LogTB.Text += DateTime.Now + ": " + Info)); // Во избежание переполнения окна вывода информации о работе программы if (LogTB.Text.Length >= 0.95 * LogTB.MaxLength) { // Сохранение логов и очистка специального окна SaveLogs(); Invoke(new Action(() => LogTB.Clear())); } } else { // Если из главного LogTB.Text += DateTime.Now + ": " + Info; // Во избежание переполнения окна вывода информации о работе программы if (LogTB.Text.Length >= 0.95 * LogTB.MaxLength) { // Сохранение логов и очистка специального окна SaveLogs(); LogTB.Clear(); } } }
private void Log(string message) { BeginInvoke((MethodInvoker) delegate { DateTime now = DateTime.Now; LogTB.AppendText($"[{now.ToShortDateString()} {now.ToLongTimeString()}] " + message + Environment.NewLine); }); }
private void UpdateTimer_Tick(object sender, EventArgs e) { try { int messageCount = 0; int totalItemUpdateCount = 0; DateTime firstMessageTime = DateTime.MinValue; DateTime lastMessageTime = DateTime.MinValue; int minItemUpdateCount = 0; int maxItemUpdateCount = 0; m_tester.GetStatistics( out messageCount, out totalItemUpdateCount, out firstMessageTime, out lastMessageTime, out minItemUpdateCount, out maxItemUpdateCount); string[] messages = m_tester.GetMessages(); for (int ii = 0; ii < messages.Length; ii++) { LogTB.AppendText(messages[ii]); LogTB.AppendText(Environment.NewLine); } MessageCountTB.Text = String.Format("{0}", messageCount); TotalItemUpdateCountTB.Text = String.Format("{0}", totalItemUpdateCount); TimeSpan delta = (lastMessageTime - firstMessageTime); if (delta.TotalMilliseconds > 0) { LogTB.AppendText(Utils.Format("Checking Update Counts. Time={0}, Min={1}, Max={2}", DateTime.UtcNow.ToString("mm:ss.fff"), minItemUpdateCount, maxItemUpdateCount)); LogTB.AppendText(Environment.NewLine); MessageRateTB.Text = String.Format("{0}", delta.TotalSeconds); TotalItemUpdateRateTB.Text = String.Format("{0}", ((double)totalItemUpdateCount) / delta.TotalSeconds); } else { MessageRateTB.Text = String.Empty; TotalItemUpdateRateTB.Text = String.Empty; } } catch (Exception) { // TBD } }
private static void UpdateLog(String StationName, List <Object[]> TableField) { db = RefreshDB(); LogTB CheckLog = new LogTB(); CheckLog.LogID = TableField.ElementAt(0)[0].ToString(); CheckLog.StationName = TableField.ElementAt(0)[0].ToString(); CheckLog.LogDateTime = Convert.ToDateTime(TableField.ElementAt(0)[2]); CheckLog.UserID = TableField.ElementAt(0)[3].ToString(); CheckLog.Note = TableField.ElementAt(0)[4].ToString(); CheckLog.Problem = TableField.ElementAt(0)[5].ToString(); LogTB ExistingLog = db.LogTBs.FirstOrDefault(Item => Item.LogID == CheckLog.LogID); ExistingLog.LogDateTime = CheckLog.LogDateTime; ExistingLog.UserID = CheckLog.UserID; ExistingLog.Note = CheckLog.Note; ExistingLog.Problem = CheckLog.Problem; db.SaveChangesAsync(); }
/// <summary> /// Updates the application after connecting to or disconnecting from the server. /// </summary> private void Server_ConnectComplete(object sender, EventArgs e) { try { m_session = ConnectServerCTRL.Session; if (m_session == null) { if (m_tester != null) { StopTest(); } return; } // set a suitable initial state. if (m_session != null && !m_connectedOnce) { m_connectedOnce = true; } LogTB.Clear(); m_tester = new Tester(); m_tester.SamplingRate = (int)UpdateRateCTRL.Value; m_tester.ItemCount = (int)ItemCountCTRL.Value; m_tester.Start(m_session); UpdateTimer.Enabled = true; StopBTN.Visible = true; } catch (Exception exception) { ClientUtils.HandleException(this.Text, exception); } }
private void addLog(string log) { LogTB.AppendText($"{DateTime.Now:T}: {log}"); LogTB.AppendText(Environment.NewLine); LogTB.ScrollToEnd(); }
private void LogTB_TextChanged(object sender, TextChangedEventArgs e) { LogTB.ScrollToEnd(); }
/// <summary> /// Действия, выполняемые при нажатии на кнопку "Очистить" на вкладке "Логи системы" /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void LogB_Click(object sender, EventArgs e) { // Сохранение логов и очистка специального окна SaveLogs(); Invoke(new Action(() => LogTB.Clear())); }
private void ProxyTB_TextChanged(object sender, EventArgs e) { LogTB.SelectionStart = LogTB.Text.Length; LogTB.ScrollToCaret(); }
private static Object InsertLog(String StationName, List <Object[]> TableField) { try { db = RefreshDB(); List <LogTB> LogList = db.LogTBs.Where(Item => Item.StationName == StationName).ToList(); List <LogTB> NewServerLog = new List <LogTB>(); List <LogTB> NewStationLog = new List <LogTB>(); List <LogTB> StationLogList = new List <LogTB>(); foreach (Object[] ThisObject in TableField) { LogTB NewLog = new LogTB(); NewLog.LogID = ThisObject[0].ToString(); NewLog.StationName = ThisObject[1].ToString(); NewLog.LogDateTime = Convert.ToDateTime(ThisObject[2]); NewLog.UserID = ThisObject[3].ToString(); NewLog.Note = ThisObject[4].ToString(); NewLog.Problem = ThisObject[5].ToString(); StationLogList.Add(NewLog); } foreach (LogTB StationLog in StationLogList) { Boolean IsFound = false; foreach (LogTB ServerLog in LogList) { if (StationLog.LogID == ServerLog.LogID) { IsFound = true; break; } } if (!IsFound) { NewServerLog.Add(StationLog); } } foreach (LogTB ServerLog in StationLogList) { Boolean IsFound = false; foreach (LogTB StationLog in LogList) { if (StationLog.LogID == ServerLog.LogID) { IsFound = true; break; } } if (!IsFound) { NewStationLog.Add(ServerLog); } } db.LogTBs.AddRange(NewServerLog); db.SaveChangesAsync(); return(NewStationLog); } catch (Exception e) { String Message = e.Message; return(null); } }