I’m trying to add an error reporting feature to my plugin, and I want to send the Rhino serial number as a way to identify which instance the error is coming from. This works fine on Windows, but on my Mac version (5.4.2) RhinoApp.SerialNumber returns an empty string. The about window does display a serial number. Is there another way for me to get this?
I see this as well Ok, I’ll look into this right away. Sorry for the delay.
Hi @Max_Eskin-
I’m wondering whether or not the Serial Number is the proper unique identifier. Serial Numbers are typically something a user likely wants to keep secret and may not like being used/logged as part of an error reporting mechanism.
It sounds like your primary goal is disambiguating which user a particular error is coming from. Have you considered asking for an email address when the user is reporting the error?
This may be TMI, but…
In Rhino, we use a really cool service called https://raygun.com/ to log crashes and exceptions. When an exception occurs, we call:
try {
//some dangerous stuff
} catch (Exception ex) {
Rhino.Runtime.HostUtils.ExceptionReport(ex);
}
and you can use the delegate to call your own report handling method…
HostUtils.OnExceptionReport += ExceptionReporter;
Raygun does a good job of disambiguating users as best as it can based on hardware (without any personally identifying information, unless the user has chosen to share it). Users can always op-out of this as well.
Logged in MR-3242.
All good points. We will be logging user ID as well (our plugin has a login system).
FYI: MR-3242 will be fixed in the next update to Rhino 5 for Mac. I’ll post again here when that is published.
Hi @Max_Eskin-
MR-3242 should be fixed in the first Release Candidate for the 5.5 update to Rhino 5 for Mac. It’s likely too little too late, but I thought I’d let you know.
Thanks again for reporting this,
-Dan
Thanks!