public Msg(int MaxLine = 200, EM_MSGTYPE Cfg = (EM_MSGTYPE)0xFFFF) { MsgCfg = Cfg; MsgMaxLine = MaxLine; //时间戳 sw.Reset(); sw.Start(); }
public void AddMsg(EM_MSGTYPE MsgType, string MsgStr) { if (MsgStr.Length == 0) { return; } try { //if (pLockMsg == null) pLockMsg = new Mutex(true); //pLockMsg.WaitOne(); //String HandStr, str; ////show config //if ((MsgType == EM_MSGTYPE.ERR) && ((MsgCfg & EM_MSGTYPE.ERR) != 0)) HandStr = "[ERR] "; //else if ((MsgType == EM_MSGTYPE.WAR) && ((MsgCfg & EM_MSGTYPE.WAR) != 0)) HandStr = "[WAR] "; //else if ((MsgType == EM_MSGTYPE.NOR) && ((MsgCfg & EM_MSGTYPE.NOR) != 0)) HandStr = "[NOR] "; //else if ((MsgType == EM_MSGTYPE.DBG) && ((MsgCfg & EM_MSGTYPE.DBG) != 0)) HandStr = "[DBG] "; //else if ((MsgType == EM_MSGTYPE.SYS) && ((MsgCfg & EM_MSGTYPE.SYS) != 0)) HandStr = "[SYS] "; //else return; ////show data //str = DateTime.Now.ToString("[HH:mm:ss.fff] ") + HandStr + MsgStr; //if ((MsgType == EM_MSGTYPE.ERR) && ((MsgCfg & EM_MSGTYPE.ERR) != 0)) addstr(str, true); //else if ((MsgType == EM_MSGTYPE.WAR) && ((MsgCfg & EM_MSGTYPE.WAR) != 0)) addstr(str, true); //else if ((MsgType == EM_MSGTYPE.NOR) && ((MsgCfg & EM_MSGTYPE.NOR) != 0)) addstr(str); //else if ((MsgType == EM_MSGTYPE.DBG) && ((MsgCfg & EM_MSGTYPE.DBG) != 0)) addstr(str); //else if ((MsgType == EM_MSGTYPE.SYS) && ((MsgCfg & EM_MSGTYPE.SYS) != 0)) addstr(str); ////save //if ((MsgType == EM_MSGTYPE.ERR) && ((MsgCfg & EM_MSGTYPE.SAVE_ERR) != 0)) SaveMsg(str); //else if ((MsgType == EM_MSGTYPE.WAR) && ((MsgCfg & EM_MSGTYPE.SAVE_WAR) != 0)) SaveMsg(str); //else if ((MsgType == EM_MSGTYPE.NOR) && ((MsgCfg & EM_MSGTYPE.SAVE_NOR) != 0)) SaveMsg(str); //else if ((MsgType == EM_MSGTYPE.DBG) && ((MsgCfg & EM_MSGTYPE.SAVE_DBG) != 0)) SaveMsg(str); //else if ((MsgType == EM_MSGTYPE.SYS) && ((MsgCfg & EM_MSGTYPE.SAVE_SYS) != 0)) SaveMsg(str); MsgData msg = new MsgData(); msg.msg_type = MsgType; msg.msg = MsgStr; msg.dt = DateTime.Now; lock (LockObj) { list_msgdat.AddLast(msg); if (list_msgdat.Count > MsgMaxLine) { list_msgdat.RemoveFirst(); } } } finally { //pLockMsg.ReleaseMutex(); } }
public void ShowMsgCfg(int MaxLine, EM_MSGTYPE Cfg) { MsgCfg = Cfg; MsgMaxLine = MaxLine; }