/// <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; }
/// <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 ); }
/// <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 ); }
/// <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; }
/// <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; }
/// <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; }
public abstract void save( ExceptionInfo execptionInfo );
/// <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; }
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(); }
/// <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(); } }
private void setException( ExceptionInfo exceptionInfo ) { exceptionName.Text = exceptionInfo.Name; exceptionMessage.Text = exceptionInfo.Message; exceptionTrace.Text = exceptionInfo.StackTrace; }
public abstract void save(ExceptionInfo execptionInfo);
private void setException(ExceptionInfo exceptionInfo) { exceptionName.Text = exceptionInfo.Name; exceptionMessage.Text = exceptionInfo.Message; exceptionTrace.Text = exceptionInfo.StackTrace; }