using KGIS.Framework.Utils; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace IDGForNDBG { /// /// Start() /// Msg() /// Log() /// Err() /// End() /// public class MsgHelper { private int MsgNum { get; set; } public DateTime InitTime { get; set; } public DateTime ItemStartTime { get; set; } public void Start(string pMsg) { MsgNum++; InitTime = DateTime.Now; ItemStartTime = InitTime; string _msg = string.Empty; for (int i = 0; i < MsgNum; i++) { _msg += " "; } _msg += MsgNum + ":↓↓↓↓↓↓开始执行:" + pMsg + " - " + InitTime + " ↓↓↓↓↓↓ "; Console.WriteLine(_msg); Msg(pMsg, true); //Console.WriteLine(pMsg); } public void Msg(string pMsg, bool pIsLog = true) { string _msg = string.Empty; for (int i = 0; i < MsgNum; i++) { _msg += " "; } _msg += MsgNum + "正在执行:" + pMsg; Console.WriteLine("Msg:正在执行 " + pMsg); if (pIsLog) Log(pMsg); } public void Log(string pMsg) { string _msg = string.Empty; for (int i = 0; i < MsgNum; i++) { _msg += " "; } _msg += MsgNum + "正在执行:" + pMsg; string time = GetTime(ItemStartTime); LogAPI.Debug(_msg + " - 耗时:" + time); } public void Err(string pMsg) { string _msg = string.Empty; for (int i = 0; i < MsgNum; i++) { _msg += " "; } _msg += MsgNum + "Err:" + pMsg; string time = GetTime(ItemStartTime); LogAPI.Debug(_msg + " - 耗时:" + time); } public void Throw() { string time = GetTime(InitTime); string _msg = string.Empty; for (int i = 0; i < MsgNum; i++) { _msg += " "; } _msg += MsgNum + ":------- 程序异常 ------"; Console.WriteLine(_msg); Err(_msg); MsgNum = 1; End(); } public void End() { string time = GetTime(InitTime); string _msg = string.Empty; for (int i = 0; i < MsgNum; i++) { _msg += " "; } _msg += MsgNum + ":↑↑↑↑↑↑执行完成,总耗时:" + time + "↑↑↑↑↑↑"; Console.WriteLine(_msg); MsgNum--; } private string GetTime(DateTime timeA) { //ItemStartTime = DateTime.Now; //timeA 表示需要计算 DateTime timeB = DateTime.Now; //获取当前时间 TimeSpan ts = timeB - timeA; //计算时间差 string time = ts.TotalSeconds.ToString(); //将时间差转换为秒 ItemStartTime = timeB; return time; } } }