123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- namespace MinicsConsole.Connector;
- public class LogSender(BasicInfo basicInfo) : SenderBase_SignalR, ILog
- {
- private ILog? _log;
- public string? Directory { get; internal set; }
- public string? FilePath { get; internal set; }
- private string? _FileName;
- bool ILog.Initialize(string fileName)
- {
- this._log ??= new Logger.Logger();
- _log.Initialize(fileName);
- this.Directory = _log.Directory;
- this._FileName = fileName;
- return true;
- }
- //Switch to new log file path and clean old files before basicInfo.DBKeepRange
- public bool CleanLog()
- {
- ILog log = new Logger.Logger();
- log.Initialize(_FileName!);
- ILog? oldLog = this._log;
- this._log = log;
- if (oldLog is null)
- return false;
- if (string.IsNullOrEmpty(oldLog.Directory) ||
- !DierctoryHelper.GetAllFiles(oldLog.Directory, out List<FileInfo>? files) ||
- files is null)
- goto Finallizer;
- foreach (FileInfo file in files)
- {
- if (file.CreationTime >= DateTime.Now.AddDays(-basicInfo.DBKeepRange))
- continue;
- try
- {
- File.Delete(file.FullName);
- }
- catch
- {
- }
- }
- Finallizer:
- oldLog?.Dispose();
- this.Directory = this._log.Directory;
- return true;
- }
- bool ILog.Debug(string message, DateTime? dateTime)
- {
- dateTime ??= DateTime.Now;
- _log?.Debug(message, dateTime);
- return this.SendAll("Debug", message, dateTime);
- }
- bool ILog.Error(string message, DateTime? dateTime)
- {
- dateTime ??= DateTime.Now;
- _log?.Error(message, dateTime);
- return this.SendAll("Error", message, dateTime);
- }
- bool ILog.Fatal(string message, DateTime? dateTime)
- {
- dateTime ??= DateTime.Now;
- _log?.Fatal(message, dateTime);
- MessageBox.Show(message, "Fatal", MessageBoxButton.OK, MessageBoxImage.Stop);
- return this.SendAll("Fatal", message, dateTime);
- }
- bool ILog.Info(string message, DateTime? dateTime)
- {
- dateTime ??= DateTime.Now;
- _log?.Info(message, dateTime);
- return this.SendAll("Info", message, dateTime);
- }
- bool ILog.Warning(string message, DateTime? dateTime)
- {
- dateTime ??= DateTime.Now;
- _log?.Warning(message, dateTime);
- return this.SendAll("Warning", message, dateTime);
- }
- public void Dispose()
- {
- this._log?.Dispose();
- }
- }
|