コード例 #1
0
ファイル: ExceptionLog.cs プロジェクト: zi-yu/orionsbelt
        /// <summary>
        /// faz log da excepcao
        /// </summary>
        /// <param name="exceptionInfo">objecto que tem a informao da excepcao</param>
        public static ExceptionInfo log( Exception exception, bool sendMail )
        {
            //carregar o ExceptionLogBase consuante a plataforma
            ExceptionInfo exceptionInfo;

            try{
                Chronos.Utils.Log.log(exception);

                exceptionInfo = new ExceptionInfo( exception );

                if( exception.GetType() == typeof(System.Web.HttpException) ) {
                    return exceptionInfo;
                }

                getInstance().save( exceptionInfo );

                if( sendMail ) {
                    Mailer.SendToAdmin("[Orionsbelt] Exception!", string.Format("{0}\n\nPath: {1}",exception.ToString(), getPath()));
                }

            } catch( Exception e ) {
                exceptionInfo = new ExceptionInfo( e );
            }
            if( null != HttpContext.Current )
                HttpContext.Current.Cache[ OrionGlobals.SessionId +  "AlnitakException"] = exceptionInfo;

            return exceptionInfo;
        }
コード例 #2
0
        /// <summary>
        /// Salva a informao da excepo
        /// </summary>
        /// <param name="exceptionInfo">objecto que encapsula a informao da excepo</param>
        public override void save( ExceptionInfo exceptionInfo )
        {
            PostGreParam[] parameters = new PostGreParam[4];
            parameters[0] = new PostGreParam( exceptionInfo.Name,NpgsqlDbType.Varchar, 100 );
            parameters[1] = new PostGreParam( exceptionInfo.Message,NpgsqlDbType.Varchar, 3000 );
            parameters[2] = new PostGreParam( exceptionInfo.StackTrace,NpgsqlDbType.Varchar, 3000 );
            parameters[3] = new PostGreParam( exceptionInfo.Date,NpgsqlDbType.Timestamp );

            PostGreServerUtility.executeNonQuery2( "OrionsBelt_ExceptionLogSave", parameters );
        }
コード例 #3
0
        /// <summary>
        /// Salva a informação da excepção
        /// </summary>
        /// <param name="exceptionInfo">objecto que encapsula a informação da excepção</param>
        public override void save( ExceptionInfo exceptionInfo )
        {
            Hashtable parameters = new Hashtable();
            parameters.Add( "@name" , exceptionInfo.Name );
            parameters.Add( "@message" , exceptionInfo.Message );
            parameters.Add( "@stackTrace" , exceptionInfo.StackTrace );
            parameters.Add( "@date" , exceptionInfo.Date );

            SqlServerUtility.executeNonQuery( "OrionsBelt_ExceptionLogSave", parameters );
        }
コード例 #4
0
        /// <summary>
        /// carrega todas as excepes ocorridas para um array de excepes
        /// </summary>
        /// <returns></returns>
        public override ExceptionInfo[] load()
        {
            DataSet dataset = MySqlUtility.getAll("Exceptions", "ORDER BY Id DESC LIMIT 0, 30");

            int i = 0, count = dataset.Tables[0].Rows.Count;

            ExceptionInfo[] exceptions = new ExceptionInfo[count];

            foreach( DataRow row in dataset.Tables[0].Rows ) {
                _exception = row;
                exceptions[i++] = new ExceptionInfo(
                    (int)getField("id"),
                    (string)getField("Name"),
                    (DateTime)getField("Date"),
                    (string)getField("Message"),
                    (string)getField("StackTrace")
                );
            }

            return exceptions;
        }
コード例 #5
0
        /// <summary>
        /// carrega todas as excepções ocorridas para um array de excepções
        /// </summary>
        /// <returns></returns>
        public override ExceptionInfo[] load()
        {
            DataSet dataset = SqlServerUtility.getAllFromDB("OrionsBelt_ExceptionLogLoad");

            int i = 0, count = dataset.Tables[0].Rows.Count;

            ExceptionInfo[] exceptions = new ExceptionInfo[count];

            foreach( DataRow row in dataset.Tables[0].Rows ) {
                _exception = row;
                exceptions[i++] = new ExceptionInfo(
                    (int)getField("exceptionLog_id"),
                    (string)getField("exceptionLog_name"),
                    (DateTime)getField("exceptionLog_date"),
                    (string)getField("exceptionLog_message"),
                    (string)getField("exceptionLog_stackTrace")
                );
            }

            return exceptions;
        }
コード例 #6
0
        /// <summary>
        /// carrega todas as excepes ocorridas para um array de excepes
        /// </summary>
        /// <returns></returns>
        public override ExceptionInfo[] load()
        {
            //DataSet dataset = PostGreServerUtility.getAllFromDB("OrionsBelt_ExceptionLogLoad");
            string query = "SELECT * FROM OrionsBelt_ExceptionLog ORDER BY exceptionLog_date DESC;";
            DataSet dataset = PostGreServerUtility.getFromDBWithQuery(query);

            int i = 0, count = dataset.Tables[0].Rows.Count;

            ExceptionInfo[] exceptions = new ExceptionInfo[count];

            foreach( DataRow row in dataset.Tables[0].Rows ) {
                _exception = row;
                exceptions[i++] = new ExceptionInfo(
                    (int)getField(0),
                    (string)getField(1),
                    (DateTime)getField(4),
                    (string)getField(2),
                    (string)getField(3)
                );
            }

            return exceptions;
        }
コード例 #7
0
 public abstract void save( ExceptionInfo execptionInfo );
コード例 #8
0
ファイル: ExceptionLog.cs プロジェクト: zi-yu/orionsbelt
        /// <summary>
        /// faz log da excepcao
        /// </summary>
        /// <param name="exceptionInfo">objecto que tem a informao da excepcao</param>
        public static ExceptionInfo log( string name, string message )
        {
            ExceptionInfo exceptionInfo;

            try{
                exceptionInfo = new ExceptionInfo( name, message );
                getInstance().save( exceptionInfo );
            } catch( Exception e ) {
                exceptionInfo = new ExceptionInfo( e );
            }

            return exceptionInfo;
        }
コード例 #9
0
ファイル: OrionApplication.cs プロジェクト: zi-yu/orionsbelt
 private void endRequest( ExceptionInfo info, ExceptionInfo lastExp )
 {
     HttpContext.Current.Cache.Remove( OrionGlobals.SessionId + "ExceptionNumber");
     HttpContext.Current.Response.Write( string.Format( "FATAL APPLICATION ERROR <!--<br/>Name:{0}<br/>Error:{0}<br/>Stack Trace:{1} -->",info.Message,info.StackTrace.Replace("<br/>","\n" ) ) );
     if( null != lastExp )
         HttpContext.Current.Response.Write( string.Format( "<p/>Excepção 2:<p/><!--<br/>Name:{0}<br/>Error:{0}<br/>Stack Trace:{1} -->",lastExp.Message,lastExp.StackTrace.Replace("<br/>","\n" ) ) );
     HttpContext.Current.Response.End();
 }
コード例 #10
0
        /// <summary>
        /// Salva a informao da excepo
        /// </summary>
        /// <param name="exceptionInfo">objecto que encapsula a informao da excepo</param>
        public override void save( ExceptionInfo exceptionInfo )
        {
            try {

                conn.Open();
                MySqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = "INSERT INTO Exceptions VALUES('',@Name, @Message, @Stacktrace, @Date)";
                cmd.Parameters.Add("@Name", exceptionInfo.Name );
                cmd.Parameters.Add("@Message", exceptionInfo.Message);
                cmd.Parameters.Add("@Stacktrace", exceptionInfo.StackTrace);
                cmd.Parameters.Add("@Date", exceptionInfo.Date);

                MySqlDataReader reader = cmd.ExecuteReader();
                reader.Read();

            } catch( Exception e ) {
                HttpContext.Current.Trace.Warn("MySQL",e.Message);
                Log.log(e.Message);
            } finally {
                conn.Close();
            }
        }
コード例 #11
0
ファイル: OrionsBeltError.cs プロジェクト: zi-yu/orionsbelt
 private void setException( ExceptionInfo exceptionInfo )
 {
     exceptionName.Text = exceptionInfo.Name;
     exceptionMessage.Text = exceptionInfo.Message;
     exceptionTrace.Text = exceptionInfo.StackTrace;
 }
コード例 #12
0
 public abstract void save(ExceptionInfo execptionInfo);
コード例 #13
0
 private void setException(ExceptionInfo exceptionInfo)
 {
     exceptionName.Text    = exceptionInfo.Name;
     exceptionMessage.Text = exceptionInfo.Message;
     exceptionTrace.Text   = exceptionInfo.StackTrace;
 }