コード例 #1
0
ファイル: RSRPC.cs プロジェクト: nolith/RSSSHClient
 internal void Error(Exception e, ErrorFrom from)
 {
     if (from != ErrorFrom.SSH)
     {
         _event(EventType.Error, e);
     }
 }
コード例 #2
0
    public void WriteLog()
    {
        StreamWriter LogFileStream = null;
        string       deviceOs      = "";

        try
        {
            ErrorDate = DateTime.Now.ToFileTime().ToString();
            ErrorFrom = HttpContext.Current.Request.UserAgent.ToString().ToLower();
            if (ErrorFrom.Contains("darwin"))
            {
                deviceOs = "iOS.";
            }
            else if (ErrorFrom.Contains("android"))
            {
                deviceOs = "Android.";
            }
            else
            {
                deviceOs = "";
            }

            RootFilePath = HttpContext.Current.Server.MapPath("~") + "\\resources\\ErrorLogs\\";

            string fileName = RootFilePath + deviceOs + "Error.log." + DateTime.Now.ToString("dd-MM-yyyy") + ".txt";

            LogFileStream = default(StreamWriter);

            if ((File.Exists(fileName)))
            {
                LogFileStream = File.AppendText(fileName);
            }
            else
            {
                LogFileStream = File.CreateText(fileName);
            }

            LogFileStream.Write("\n User Agent : ");
            LogFileStream.Write(ErrorFrom);

            LogFileStream.Write("\n Request Parameter : ");
            LogFileStream.Write(ApiRequestWithParam);

            if (TraceError != null)
            {
                LogFileStream.Write("\n Errors : ");
                LogFileStream.Write("\n Requested Url : ");
                LogFileStream.WriteLine(HttpContext.Current.Request.Url.ToString());
                LogFileStream.Write("\n Message : ");
                LogFileStream.WriteLine(TraceError.Message);
                LogFileStream.Write(" StackTrace  : ");
                LogFileStream.WriteLine(TraceError.StackTrace);
                LogFileStream.Write(" TargetSite  : ");
                LogFileStream.WriteLine(TraceError.TargetSite);
            }

            LogFileStream.Flush();
            LogFileStream.Close();
        }
        catch (Exception ex)
        {
            //throw ex;
        }
        finally
        {
            if (LogFileStream != null)
            {
                LogFileStream.Dispose();
            }
        }
    }
コード例 #3
0
        /// <summary>
        /// 获取所有故障设置
        /// </summary>
        /// <param name="conn"></param>
        /// <returns></returns>
        public static List <ErrorEnum> GetAllErrorSet(All.Class.DataReadAndWrite conn)
        {
            List <ErrorEnum> result     = new List <ErrorEnum>();
            string           errorEnum  = "";
            string           errorValue = "";
            string           errorFrom  = "";
            int       errorEnumIndex    = 0;
            int       errorsIndex       = 0;
            int       errorFromIndex    = 0;
            ErrorEnum tmpErrorEnum;
            Errors    tmpErrors;
            ErrorFrom tmpErrorFrom;

            using (DataTable dt = conn.Read("select ErrorEnum,ErrorValue,ErrorFrom from V_AllError"))
            {
                if (dt != null && dt.Rows.Count > 0)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        errorEnum  = All.Class.Num.ToString(dt.Rows[i]["ErrorEnum"], "");
                        errorValue = All.Class.Num.ToString(dt.Rows[i]["ErrorValue"], "");
                        errorFrom  = All.Class.Num.ToString(dt.Rows[i]["ErrorFrom"], "");

                        //查找是否有当前故障分类
                        errorEnumIndex = result.FindIndex(
                            tmp =>
                        {
                            return(tmp.Value == errorEnum);
                        });
                        if (errorEnumIndex < 0)//添加一个故障分类
                        {
                            tmpErrorEnum       = new ErrorEnum();
                            tmpErrorEnum.Value = errorEnum;
                            result.Add(tmpErrorEnum);
                            errorEnumIndex = result.Count - 1;
                        }
                        //查找是否有当前故障
                        errorsIndex = result[errorEnumIndex].Errors.FindIndex(
                            tmp =>
                        {
                            return(tmp.Value == errorValue);
                        });
                        if (errorsIndex < 0)//添加一个故障分类
                        {
                            tmpErrors       = new Errors();
                            tmpErrors.Value = errorValue;
                            result[errorEnumIndex].Errors.Add(tmpErrors);
                            errorsIndex = result[errorEnumIndex].Errors.Count - 1;
                        }
                        //查找是否有当前故障源
                        errorFromIndex = result[errorEnumIndex].Errors[errorsIndex].ErrorFrom.FindIndex(
                            tmp =>
                        {
                            return(tmp.Value == errorFrom);
                        });
                        if (errorFromIndex < 0)//添加一个故障源
                        {
                            tmpErrorFrom       = new ErrorFrom();
                            tmpErrorFrom.Value = errorFrom;
                            result[errorEnumIndex].Errors[errorsIndex].ErrorFrom.Add(tmpErrorFrom);
                        }
                    }
                }
            }
            return(result);
        }
コード例 #4
0
 public void Log(ErrorFrom from, IEnumerable <string> problems, Uri uri)
 {
 }