1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- using BZFAStandardLib;
- using Sunny.UI.Win32;
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Timers;
- namespace MainForm.ClassFile.XiaomiClass
- {
- internal class MultiDirectoryCleanupService
- {
- private Timer _timer;
- private List<string> _directoriesToClean;
- public MultiDirectoryCleanupService()
- {
- // 初始化需要清理的目录列表
- _directoriesToClean = new List<string>
- {
- GlobalContext.MqttDeviceStateDir,//mqtt日志 - 设备状态日志
- GlobalContext.MqttInputBeginDir,//mqtt日志 - 节拍日志
- GlobalContext.MqttOperateLogDir,//mqtt日志 - 用户操作日志
- GlobalContext.MqttAlarmLogDir,//mqtt日志 - 故障日志日志
- GlobalContext.MqttPassResultLogDir,//mqtt日志 - 过站结果日志
- GlobalContext.MqttPassDetailLogDir,//mqtt日志 - 过站明细日志
- GlobalContext.MqttFileUpLogDir,//mqtt日志 - 文件上传日志
- GlobalContext.MqttFileBackupLogDir,//mqtt日志 - 文件备份
- GlobalContext.MqttDeviceConfigLogDir, // mqtt日志 - 装备配置日志
- GlobalContext.WorkLogDir // mqtt日志 - // 运行日志
- };
- // 设置定时器, 比如每天运行一次 (以毫秒为单位)
- //_timer = new Timer(24 * 60 * 60 * 1000);
- _timer = new Timer(1 * 60 * 60 * 1000);
- _timer.Elapsed += OnTimerElapsed;
- }
- private void OnTimerElapsed(object sender, ElapsedEventArgs e)
- {
- foreach (var directory in _directoriesToClean)
- {
- try
- {
- var files = Directory.GetFiles(directory);
- foreach (var file in files)
- {
- DateTime lastWriteTime = File.GetLastWriteTime(file);
- if ((DateTime.Now - lastWriteTime).TotalDays > GlobalContext.ClearLogDays)
- {
- File.Delete(file);
- string logPath = GlobalContext.MqttClearFileDir + "ClearFile" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
- FileOperate.NewTxtFile(logPath, DateTime.Now + $"===>{file} 已被删除");
- }
- }
- }
- catch (Exception ex)
- {
- // 记录错误信息或采取其他措施
- Console.WriteLine($"无法清理目录 {directory}: {ex.Message}");
- }
- }
- }
- public void Start()
- {
- _timer.Start();
- }
- }
- }
|