Example #1
0
 /// <inheritdoc/>
 public void RecordException(Exception exception, ExceptionLevel exceptionLevel = ExceptionLevel.Error, IDictionary metadata = null) =>
 RaygunClient.Current.Send(exception, new[] { exceptionLevel.ToString() }.ToList(), metadata);
        public static void WriteExceptionInDB(Exception ex, ExceptionLevel el, ExceptionType et)
        {
            try
            {
                string _query          = string.Empty;
                string _source         = ex.Source;
                string _memberType     = ex.TargetSite.MemberType.ToString();
                string _method         = ex.TargetSite.Name;
                string _form           = ex.TargetSite.DeclaringType.Name;
                string _message        = ex.Message;
                string _stackTrace     = ex.StackTrace;
                string _exceptionLayer = el.ToString();
                string _exceptionType  = et.ToString();
                if (DBConfigHelper.Provider == DatabaseProviderType.Sql)
                {
                    SqlParameter[] _objParameters = new SqlParameter[10];
                    //_objParameters[0] = new SqlParameter("SNO", System.Data.SqlDbType.BigInt);
                    //_objParameters[0].Value = GetMaxId();
                    _objParameters[0]       = new SqlParameter("@EXCEPTION_LAYER", System.Data.SqlDbType.VarChar);
                    _objParameters[0].Value = _exceptionLayer;
                    _objParameters[1]       = new SqlParameter("@SOURCE_LAYER", System.Data.SqlDbType.NVarChar);
                    _objParameters[1].Value = _source;
                    _objParameters[2]       = new SqlParameter("@STACKTRACE", System.Data.SqlDbType.NVarChar);
                    _objParameters[2].Value = _stackTrace;
                    _objParameters[3]       = new SqlParameter("@ERROR_MESSAGE", System.Data.SqlDbType.VarChar);
                    _objParameters[3].Value = _message;
                    _objParameters[4]       = new SqlParameter("@MEMBER_TYPE", System.Data.SqlDbType.VarChar);
                    _objParameters[4].Value = _memberType;
                    _objParameters[5]       = new SqlParameter("@METHOD", System.Data.SqlDbType.VarChar);
                    _objParameters[5].Value = _method;
                    _objParameters[6]       = new SqlParameter("@FORM", System.Data.SqlDbType.VarChar);
                    _objParameters[6].Value = _form;
                    _objParameters[7]       = new SqlParameter("@EXCEPTION_DATETIME", System.Data.SqlDbType.DateTime);
                    _objParameters[7].Value = DateTime.Now.ToString("dd-MMM-yyyy");
                    _objParameters[8]       = new SqlParameter("@CLIENT_IP", System.Data.SqlDbType.VarChar);
                    _objParameters[8].Value = "";
                    _objParameters[9]       = new SqlParameter("@EXCEPTION_TYPE", System.Data.SqlDbType.VarChar);
                    _objParameters[9].Value = _exceptionType;

                    SqlConnection con  = new SqlConnection(_dbConnectionString);
                    SqlCommand    _cmd = new SqlCommand();
                    foreach (var param in _objParameters)
                    {
                        _cmd.Parameters.Add(param);
                    }
                    _cmd.Connection  = con;
                    _cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    _cmd.CommandText = "spSysExceptionLog";
                    if (_cmd.Connection.State == System.Data.ConnectionState.Closed)
                    {
                        _cmd.Connection.Open();
                        int _effectedRow = _cmd.ExecuteNonQuery();
                        _cmd.Connection.Close();
                        _cmd.Dispose();
                    }
                }
            }
            catch (Exception exception)
            {
                throw exception;
            }
        }