From 006c98e5650b530e5220f279c1e803fefe69d40d Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期二, 25 十一月 2025 15:47:33 +0800
Subject: [PATCH] 优化一些东西;
---
HMI.LogViewer/LogViewer.xaml.cs | 89 ++++++++++++++++++++++++++++++--------------
1 files changed, 60 insertions(+), 29 deletions(-)
diff --git a/HMI.LogViewer/LogViewer.xaml.cs b/HMI.LogViewer/LogViewer.xaml.cs
index bc54659..4b9699a 100644
--- a/HMI.LogViewer/LogViewer.xaml.cs
+++ b/HMI.LogViewer/LogViewer.xaml.cs
@@ -1,16 +1,15 @@
锘縰sing HMI.Base;
using HMI.Core.Util;
using HMI.UI.Util;
-using log4net.Core;
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
+using System.Threading.Tasks;
using System.Timers;
using System.Windows;
using System.Windows.Controls;
-using static System.Net.Mime.MediaTypeNames;
namespace HMI.LogViewer
{
@@ -34,6 +33,26 @@
private Timer autoRfhTimer;
+ private int currentPage = 1;
+ public int CurrentPage
+ {
+ get => currentPage;
+ set
+ {
+ Set(ref currentPage, value);
+ }
+ }
+
+ private int maxPage = 0;
+ public int MaxPage
+ {
+ get => maxPage;
+ set
+ {
+ Set(ref currentPage, value);
+ }
+ }
+
public LogViewer()
{
@@ -41,7 +60,7 @@
autoRfhTimer = new Timer
{
Enabled = false,
- Interval = 1000,
+ Interval = 1500,
AutoReset = false
};
autoRfhTimer.Elapsed += AutoRfhTimer_Elapsed;
@@ -153,11 +172,15 @@
endTimeInput.SelectedDateTime });
foreach (string file in files)
{
- SqliteHelper sql = new SqliteHelper(file);
- dt.Merge(sql.GetDataTable(str));
- sql.Close();
+ using (SqliteHelper sql = new SqliteHelper(file))
+ {
+ dt.Merge(sql.GetDataTable(str));
+ }
}
- dt.DefaultView.Sort = "time Desc";
+ if (dt.Rows.Count > 0)
+ {
+ dt.DefaultView.Sort = "time Desc";
+ }
table.ItemsSource = dt.DefaultView;
}
@@ -176,9 +199,9 @@
var lastWriteTime = File.GetLastWriteTime(file);
bool flag = true;
if (range[0] != null) flag &= lastWriteTime >= range[0];
- if (range[1] != null) flag &= lastWriteTime <= range[1];
+ //if (range[1] != null) flag &= lastWriteTime <= range[1];
return flag;
- }).ToArray();
+ }).OrderByDescending(f => f).ToArray();
return oldFiles;
}
@@ -225,28 +248,36 @@
/// </summary>
private void Refresh100items()
{
- try
+ autoRfhTimer.Enabled = false;
+ Task.Run(() =>
{
- autoRfhTimer.Enabled = false;
- string todayLogFile = Path.Combine(PathHelper.LogViewerDir, $"log_{DateTime.Today:yyyy-MM-dd}.db");
- if (!File.Exists(todayLogFile)) return;
- string str = "select level,time,source,text from log order by time desc limit 100";
- SqliteHelper sql = new SqliteHelper(todayLogFile);
- var dt = sql.GetDataTable(str);
- this.Dispatcher.BeginInvoke((Action)delegate ()
+ try
{
- table.ItemsSource = dt.DefaultView;
- });
- }
- catch (Exception ex)
- {
- log.Error("Log Auto Refresh Failed.", ex);
- this.Error($"鑷姩鍒锋柊澶辫触锛亄ex.Message}");
- }
- finally
- {
- autoRfhTimer.Enabled = AutoRfh;
- }
+ string todayLogFile = Path.Combine(PathHelper.LogViewerDir, $"log_{DateTime.Today:yyyy-MM-dd}.db");
+ if (!File.Exists(todayLogFile)) return;
+ string str = "select level,time,source,text from log order by time desc limit 100";
+ using (SqliteHelper sql = new SqliteHelper(todayLogFile))
+ {
+ var dt = sql.GetDataTable(str);
+ this.Dispatcher.BeginInvoke((Action)delegate ()
+ {
+ table.ItemsSource = dt.DefaultView;
+ });
+ }
+ }
+ catch (Exception ex)
+ {
+ log.Error("Log Auto Refresh Failed.", ex);
+ this.Error($"鑷姩鍒锋柊澶辫触锛亄ex.Message}");
+ }
+ finally
+ {
+ this.Dispatcher.BeginInvoke((Action)delegate ()
+ {
+ autoRfhTimer.Enabled = AutoRfh;
+ });
+ }
+ });
}
}
}
--
Gitblit v1.9.1