DataCollectionWorld.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using System.ComponentModel;
  2. using WCS.Core;
  3. using WCS.Service.Systems;
  4. using WCS.WorkEngineering.Worlds;
  5. namespace WCS.Service.Worlds
  6. {
  7. /// <summary>
  8. /// 数据采集世界,
  9. /// 该世界不进行任何的交互处理,仅进行硬件数据采集
  10. /// </summary>
  11. [Description("数据采集世界")]
  12. public class DataCollectionWorld : MainWorld
  13. {
  14. /// <summary>
  15. /// 构造函数
  16. /// </summary>
  17. public DataCollectionWorld()
  18. {
  19. }
  20. /// <summary>
  21. /// 更新后执行,重写改方法后请自行添加执行内容
  22. /// 执行内容:清空日志队列
  23. /// </summary>
  24. protected override void AfterUpdate()
  25. {
  26. #region 日志处理
  27. //TODO:暂时仅将日志记录至文本文件
  28. if (Logs.Count() > 0)
  29. {
  30. //var time = $"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:FF")}";
  31. //var fst = Logs.First();
  32. //var dir = $"Logs\\{DateTime.Now.ToString("yyyy-MM-dd")}\\{fst.Channel.World}\\{fst.Channel.System}\\";
  33. //if (!Directory.Exists(dir))
  34. // Directory.CreateDirectory(dir);
  35. //foreach (var log in Logs)
  36. //{
  37. // var msg = $"--------------------{log.Time}[{Thread.CurrentThread.ManagedThreadId}]--------------------\n{log}\n";
  38. // File.AppendAllText(Path.Combine(dir, $"{log.Log.Message.Split(":")[0]}.txt"), msg);
  39. //}
  40. }
  41. #endregion 日志处理
  42. World.GetSystemInstance<DataCollectionSysyem>().Invoke(true);
  43. }
  44. }
  45. }