awseward / bugsnag.net Goto Github PK
View Code? Open in Web Editor NEWA Bugsnag client for .NET
License: MIT License
A Bugsnag client for .NET
License: MIT License
Getting a context like System.IO.__Error::WinIOError
isn't very helpful.
Finding the first application-namespaced frame in the stack trace and using that may be a better approach.
This can be done at the app level, but it'd be nice if this library provided some help w/ doing so.
Parse lines in awaited stack traces to indicate where this occurs.
--- End of stack trace from previous location where exception was thrown ---
Currently showing this, which could be improved.
[file]:-1 [method]
Bugsnag.NET
's default Event implementation gets its grouping hash this way
static string _GetGroupingHash(Exception ex)
{
if (ex == null) { return string.Empty; }
return string.Format(
"{0} @ {1} : {2}",
_GetTypeName(ex),
_GetContext(ex),
_GetMessage(ex));
}
This has the consequence of two of the same error with a slightly different message being considered unique from each other.
This can have humorous results...
Some kind of way to override the groupingHash of any given event might be a good thing to have...
Ruby can be a bit of a hassle on windows machines.
Fake will be a lot more manageable as a task runner.
Hi,
I have been using your library for my UWP application. I following exactly what was in your README. The library appears to be working, I receive a 200 OK for every test notify that I do. But nothing appears on the bugsnag dashboard. I have checked my API keys and they look correct. The only thing I do notice is that I am using the Bugsnag.PCL
namespace. Any help with this problem would be much appreciated.
I think the error might be due to a particular character in the content, but might be something else:
System.NullReferenceException: Object reference not set to an instance of an object. at Bugsnag.NET.Request.StackTraceLine.d__1.MoveNext() at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeList(JsonWriter writer, IEnumerable values, JsonArrayContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty) at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject(JsonWriter writer, Object value, JsonObjectContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty) at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeList(JsonWriter writer, IEnumerable values, JsonArrayContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty) at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject(JsonWriter writer, Object value, JsonObjectContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty) at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeList(JsonWriter writer, IEnumerable values, JsonArrayContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty) at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject(JsonWriter writer, Object value, JsonObjectContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty) at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.Serialize(JsonWriter jsonWriter, Object value, Type objectType) at Newtonsoft.Json.JsonSerializer.SerializeInternal(JsonWriter jsonWriter, Object value, Type objectType) at Newtonsoft.Json.JsonConvert.SerializeObjectInternal(Object value, Type type, JsonSerializer jsonSerializer) at Bugsnag.NET.BugsnagSender.Send(INotice notice, Boolean useSSL)
The error that is tried to be reported to Bugsnag:
System.Exception: An internal error is occurred. The cause of the error has been forwarded to the technical support staff, and will be followed-up upon. ---> System.Exception: Debug Info: tryCount=0: System.Data.SqlClient.SqlException (0x80131904): The INSERT statement conflicted with the FOREIGN KEY constraint "FK_yyyyyyyyy_tblyyyyyyy". The conflict occurred in database "yyyyyyyy", table "tblyyyyyy", column 'yyyyyy'. The statement has been terminated. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() at System.Data.SqlClient.SqlDataReader.get_MetaData() at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) at Dapper.SqlMapper.d__61`1.MoveNext() at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source) at Dapper.SqlMapper.Query[T](IDbConnection cnn, String sql, Object param, IDbTransaction transaction, Boolean buffered, Nullable`1 commandTimeout, Nullable`1 commandType) at System.Dynamic.UpdateDelegates.UpdateAndExecute8[T0,T1,T2,T3,T4,T5,T6,T7,TRet](CallSite site, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7) at Roadmap.DataSqlServer.RoadmapSqlMapper.Query[T](IDbConnection cnn, String sql, Object param, IDbTransaction transaction, Boolean buffered, Nullable`1 commandTimeout, Nullable`1 commandType) at Roadmap.DataSqlServer.RoadmapSqlMapper.<>c__DisplayClass4`1.b__3() at Roadmap.DataSqlServer.DeadlockRetryUtil.DeadlockRetryHelper[T](Func`1 repositoryMethod) ClientConnectionId:b01c94d2-f20d-4603-a359-081663474a4e Error Number:547,State:0,Class:16 --- End of inner exception stack trace --- at Roadmap.DataSqlServer.DeadlockRetryUtil.DeadlockRetryHelper[T](Func`1 repositoryMethod) at Roadmap.DataSqlServer.Payment.DataAmazonPayment.Add(AmazonTransactionHistoryModel item) at Roadmap.RepoLayer.Payment.RepoPayment.Add(AmazonTransactionHistoryModel item) at Roadmap.Web.ipn.Page_Load(Object sender, EventArgs e) --- Session Info --- SessionID: hkvyfbzid1k052lx4c1smdtr IsNewSession: True Items Count: 1 Items: SessionStart: 5/18/2015 12:00:08 AM
I can't see the device or my metadata in the dashboard.
All other values like user, app i do get.
var evt = client.GetEvent(exception, GetCurrentUser(), GetDevice(), GetMetadata());
private static object GetMetadata()
{
return "This is MetaData";
}
private BsNet.Request.IDevice GetDevice()
{
return new BSDevice();
}
public class BSDevice : BsNet.Request.IDevice
{
public string Hostname
{
get { return "host"; }
}
public string OsVersion
{
get {return "OS"; }
}
}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.