Beispiel #1
0
 public void WriteLog(char data)
 {
     if (LogTextBox.Dispatcher.CheckAccess())
     {
         LogTextBox.Text          += data;
         LogTextBox.SelectionStart = LogTextBox.Text.Length;
         LogTextBox.ScrollToEnd();
     }
     else
     {
         LogTextBox.Dispatcher.Invoke(DispatcherPriority.Normal, new Action(() => { WriteLog(data); }));
     }
 }
Beispiel #2
0
 private void WriteLog(string data)
 {
     if (LogTextBox.Dispatcher.CheckAccess())
     {
         LogTextBox.Text          += data + Environment.NewLine;
         LogTextBox.SelectionStart = LogTextBox.Text.Length;
         LogTextBox.CaretIndex     = LogTextBox.Text.Length;
         LogTextBox.ScrollToEnd();
     }
     else
     {
         LogTextBox.Dispatcher.Invoke(DispatcherPriority.Normal, new Action(() => { WriteLog(data); }));
     }
 }
Beispiel #3
0
 private void _writeTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
 {
     try
     {
         var value = (byte)'1';
         _file.WriteByte(value);
         Dispatcher.Invoke(() => LogTextBox.AppendText("1"));
         Dispatcher.Invoke(() => LogTextBox.ScrollToEnd());
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "Ошибка записи в файл");
     }
 }
Beispiel #4
0
        private void AddLog()
        {
            var Q = Debugger.LogQueue;

            while (Q.Count > 0)
            {
                var log = Q.Dequeue();

                LogList.Add(log);
                LogTextBox.AppendText(log + Environment.NewLine);
            }

            LogTextBox.ScrollToEnd();
        }
Beispiel #5
0
 private void Log(string level, string message)
 {
     Dispatcher.BeginInvoke(new Action(delegate()
     {
         string log = LogTextBox.Text;
         log       += level.PadRight(5) + " | " + message + Environment.NewLine;
         if (log.Length > 1000)
         {
             log = log.Substring(log.Length - 1000, 1000);
         }
         LogTextBox.Text = log;
         LogTextBox.ScrollToEnd();
     }));
 }
Beispiel #6
0
        private void AddLogInfo(byte[] array, bool isOutput)
        {
            var hex = BitConverter.ToString(array).Replace("-", " ") + "\n";

            if (isOutput)
            {
                LogTextBox.AppendText(DateTime.Now.ToString("G") + "\tOUT\t->\t" + hex);
            }
            else
            {
                LogTextBox.AppendText(DateTime.Now.ToString("G") + "\tIN\t->\t" + hex + "\n");
            }
            LogTextBox.ScrollToEnd();
        }
Beispiel #7
0
        private async void Log(string message)
        {
            await Dispatcher.ResumeForeground();

            LogTextBox.Text += DateTime.Now.ToString("hh:mm:ss.fff") + " " + message + "\r\n";
            if (LogTextBox.Text.Length > 2000)
            {
                LogTextBox.Text = LogTextBox.Text.Substring(1000);
            }

            LogTextBox.SelectionStart  = LogTextBox.Text.Length - 1;
            LogTextBox.SelectionLength = 0;
            LogTextBox.ScrollToEnd();
        }
Beispiel #8
0
        private void ReadLog()
        {
            var newLogFile = Logging.LogFile;

            if (newLogFile != _currentLogFile)
            {
                _currentOffset      = 0;
                _currentLogFile     = newLogFile;
                _currentLogFileName = Logging.LogFileName;
            }

            try
            {
                using var reader = new StreamReader(new FileStream(newLogFile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite));
                if (_currentOffset == 0)
                {
                    var maxSize = reader.BaseStream.Length;
                    if (maxSize > MaxReadSize)
                    {
                        reader.BaseStream.Seek(-MaxReadSize, SeekOrigin.End);
                        reader.ReadLine();
                    }
                }
                else
                {
                    reader.BaseStream.Seek(_currentOffset, SeekOrigin.Begin);
                }

                var txt = reader.ReadToEnd();
                if (!string.IsNullOrEmpty(txt))
                {
                    LogTextBox.AppendText(txt);
                    LogTextBox.ScrollToEnd();
                }

                _currentOffset = reader.BaseStream.Position;
            }
            catch (FileNotFoundException)
            {
            }
            catch (ArgumentNullException)
            {
            }

            Title = $@"{I18N.GetString(@"Log Viewer")} {_currentLogFileName}";
        }
Beispiel #9
0
 private void _readTimer_Elapsed(object sender, ElapsedEventArgs e)
 {
     try
     {
         var value = (char)_file.ReadByte();
         if (value != '1')
         {
             Dispatcher.Invoke(() => DisplayStateTextBox.Text = "Закончено чтение файла");
             Dispatcher.Invoke(() => _readTimer.Stop());
             return;
         }
         Dispatcher.Invoke(() => LogTextBox.AppendText(value.ToString()));
         Dispatcher.Invoke(() => LogTextBox.ScrollToEnd());
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "Ошибка чтения файла");
     }
 }
Beispiel #10
0
        private void Log(string txt, Stopwatch st = null)
        {
            LogTextBox.Dispatcher.Invoke(() =>
            {
                string s = DateTime.Now.ToString() + " " + txt;
                if (st != null)
                {
                    ElapsedLabel.Visibility = Visibility.Visible;
                    ElapsedLabel.Content    = st.ElapsedMilliseconds;
                }
                s += Environment.NewLine;

                LogTextBox.AppendText(s);

                // refresh every 100 ms - speed - not for every log write
                LogTextBox.ScrollToEnd();
                GingerCore.General.DoEvents();
            }
                                         );
        }
        public void Log(LogEntry entry)
        {
            string logMessage = "";

            if (entry.Severity != LoggingEventType.Information)
            {
                logMessage += entry.Severity.ToString() + ": ";
            }
            if (entry.Message != null)
            {
                logMessage += entry.Message;
            }
            if (entry.Exception != null)
            {
                logMessage += "\nException: " + entry.Exception.ToString();
            }

            string text = LogTextBox.Text;

            text           += logMessage + "\n";
            LogTextBox.Text = text;
            LogTextBox.ScrollToEnd();
        }
Beispiel #12
0
 private void OnLogTextBoxTextChanged(object sender, TextChangedEventArgs e)
 {
     LogTextBox.CaretIndex = LogTextBox.Text.Length;
     LogTextBox.ScrollToEnd();
 }
Beispiel #13
0
 private void LogTextBox_TextChanged(object sender, TextChangedEventArgs e)
 {
     LogTextBox.ScrollToEnd();
 }
Beispiel #14
0
 private void Notifications_ChannelTalkStatusChanged(object sender, TalkStatusEventArgsBase e)
 {
     LogTextBox.AppendText(e.GetDumpString());
     LogTextBox.ScrollToEnd();
 }
Beispiel #15
0
 private void QueryDispatcher_NotificationReceived(object sender, EventArgs <string> e)
 {
     LogTextBox.AppendText(e.Value);
     LogTextBox.ScrollToEnd();
 }
Beispiel #16
0
        public MainView()
        {
            InitializeComponent();

            LogTextBox.TextChanged += (sender, args) => { LogTextBox.ScrollToEnd(); };
        }
Beispiel #17
0
 /// <summary>
 /// Log an entry by appending the the Log textbox
 /// </summary>
 /// <param name="entry">Entry to log</param>
 private void Log(string entry)
 {
     LogTextBox.AppendText($"{entry}\n");
     LogTextBox.ScrollToEnd();
 }
Beispiel #18
0
 /// <summary>
 /// Scrolls the logfile textbox to the end, so that newest log entries are shown.
 /// </summary>
 /// <param name="drawingContext">The drawing instructions for a specific element. This context is provided to the layout system.</param>
 protected override void OnRender(System.Windows.Media.DrawingContext drawingContext)
 {
     LogTextBox.ScrollToEnd();
     base.OnRender(drawingContext);
 }
Beispiel #19
0
 private void WrapTextMenuItem_Checked(object sender, RoutedEventArgs e)
 {
     LogTextBox.TextWrapping = WrapTextMenuItem.IsChecked ? TextWrapping.Wrap : TextWrapping.NoWrap;
     LogTextBox.ScrollToEnd();
 }
Beispiel #20
0
 private void Log(string message)
 {
     Dispatcher.Invoke(() => { LogTextBox.AppendText($"{DateTime.Now:yyyy/MM/dd HH:mm:ss.fff} | {message}\n"); LogTextBox.ScrollToEnd(); });
 }
Beispiel #21
0
 private void LogTextBox_TextChanged(object sender, System.Windows.Controls.TextChangedEventArgs e)
 {
     LogTextBox.ScrollToEnd();
 }
Beispiel #22
0
 private void LogTextBox_OnTextChanged(object sender, TextChangedEventArgs e)
 {
     Dispatcher.Invoke(() => LogTextBox.ScrollToEnd(), DispatcherPriority.ApplicationIdle);
 }
 /// <summary>
 ///     Append a text line with specified color.
 /// </summary>
 /// <param name="text"></param>
 /// <param name="color"></param>
 private void AppendColorLine(string text, Color color)
 {
     LogTextBox.AppendColoredText(text, color);
     LogTextBox.ScrollToEnd();
 }