/// <summary> /// ساخت اکپشن /// </summary> /// <param name="msg">متن پیغام</param> /// <param name="logType">نوع لاگ</param> /// <returns>اکسپشن ساخته شده</returns> public static Exception MakeExeption(string msg, E_LogType logType) { Exception ex = new Exception(msg); ex.Source = logType.ToString(); return(ex); }
public C_Log(E_LogType logType, E_UserType userType, int userId, E_OperType operType, string desc, string exContent) { LogType = logType; UserType = userType; UserId = userId; OperType = operType; Desc = desc; ExContent = exContent; }
/// <summary> /// متد سازنده برای لاگ های خطا /// </summary> /// <param name="SysTp">نوع سیستم</param> /// <param name="LogTp">نوع خطا</param> /// <param name="Ex">مدل خطا</param> public M_SystemLog(E_SystemType SysTp, E_LogType LogTp, Exception Ex) { SystemType = SysTp; LogType = LogTp; LogMessage = Ex.Message.Contains("An error occurred while updating the entries. See the inner exception for details") ? Ex.InnerException.InnerException.Message : Ex.Message; StackTrace st = new StackTrace(Ex, true); StackFrame frame = st.GetFrame(0); MethodBase site = Ex.TargetSite; FileName = frame.GetFileName(); MethodName = frame.GetMethod().Name; Line = frame.GetFileLineNumber(); Column = frame.GetFileColumnNumber(); }
/// <summary> /// متد سازنده برای لاگ های دلخواه /// </summary> /// <param name="SysTp">نوع سیستم</param> /// <param name="LogTp">نوع لاگ</param> /// <param name="Message">متن لاگ</param> public M_SystemLog(E_SystemType SysTp, E_LogType LogTp, string Message) { SystemType = SysTp; LogType = LogTp; LogMessage = Message; }
/// <summary> /// متد سازنده برای لاگ های رزرو شده مثل شروع یک عملیات /// </summary> /// <param name="SysTp">نوع سیستم</param> /// <param name="LogTp">نوع لاگ</param> public M_SystemLog(E_SystemType SysTp, E_LogType LogTp) { SystemType = SysTp; LogType = LogTp; }
/// <summary> /// 写入日志 /// </summary> /// <param name="sLog">日志内容</param> /// <param name="logType">日志类型(默认普通)</param> public static void SendLog(this string sLog, E_LogType logType = E_LogType.Nomal) { if ((int)logType > LogLevel) { return; } new Thread(() => { StringBuilder log = new StringBuilder(DateTime.Now.ToString("HH:mm:ss")); switch (logType) { case E_LogType.ShowOnly: log.Append(" ").Append(sLog).AppendLine(); Console.Write(log); break; case E_LogType.Nomal: log.Append(" ").Append(sLog).AppendLine(); Console.Write(log); q_log.Enqueue(log.ToString()); break; case E_LogType.Debug: log.Append(" [Debug]").Append(sLog).AppendLine(); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(log); q_log.Enqueue(log.ToString()); break; case E_LogType.Exception: log.Append(" [Exception]").Append(sLog).AppendLine(); Console.ForegroundColor = ConsoleColor.Red; Console.Write(log); q_log.Enqueue(log.ToString()); break; } Console.ResetColor(); if (IsWs) { Wss.ForEach(x => { x.Send(log.ToString()); }); } }).Start(); }
public static void SendLog(this string sLog, string tag, E_LogType logType = E_LogType.Nomal) { SendLog("[" + tag + "] " + sLog, logType); }