DevExpress Logify: a New Exception Reporting Tool

We at DevExpress write controls, components and frameworks. Before we make them available to our customer base, they are integrated into our internal applications for that extra battle-hardened test: can we ourselves use these libraries and tools? Obviously, part of that process is catching exceptions that may be raised and logging them for further reporting and analysis.

To make this easier, we wrote our own logging tool, codenamed Logify.

Logify: intro

The tool has become so invaluable for our internal testing, that we now have packaged it as a new product. Currently DevExpress Logify is in beta: although it works for us, we need a lot more data and feedback from our customers using it in their applications.

In essence, DevExpress Logify allows you, the developer, to catch all unprocessed exceptions in your applications, log them, and then process and report on them through a web interface. Let us explore the features of the product.

What can DevExpress Logify do for you?

We developed DevExpress Logify to simplify and expedite the collection and processing of application crashes. DevExpress Logify does this by:

  • Allowing you to customize notification types and times so you receive alerts where and when you want them.
  • Providing notifications to give you comprehensive and actionable information to help you fix crashes efficiently. You’ll always know when and why a crash happened.
  • Enabling you to maintain stable, robust, high quality apps through constant monitoring and crash reporting. You will no longer need to rely on inaccurate user reports or complaints.

Why DevExpress Logify?

There are several exception logging libraries and crash reporting tools available, some open source. Why do we think that DevExpress Logify is superior? There are six main advantages:

Easy to begin using it

DevExpress Logify doesn’t require any complex installation or registration. We provide you with an API key for your application and several lines to add to your application’s code. Recompile, and that’s it! Your application is ready to report all unexpected crashes to DevExpress Logify.

Comprehensive reporting

Along with a simple preview, DevExpress Logify provides you with an itemized, comprehensive report view that contains detailed information about the crash: exceptions and their call stacks, operating system details, application metrics, and many other actionable insights.

Logify: Comprehensive Reporting

Ability to focus on the real issues

DevExpress Logify allows you to set up special rules to automatically reject or ignore unusable reports and instead concentrate on the real critical issues in your application.

Using custom data

The default logs collected by DevExpress Logify contain a number of predefined application metrics. However, you can also attach custom data to these logs, and then view this data within the generated reports in the DevExpress Logify web interface. In addition, the custom data can be used for filtering and detecting duplicate reports.

Easy to use reporting UI

Without a doubt, making it simple to provide actionable reports is part and parcel of an exception logging tool. DevExpress Logify makes the reporting process easy.

1. Smart report preview.

Typically, finding the reason for a crash doesn’t require that much information. For example, developers can, in general, determine the cause of an application crash by exploring the call stack only. DevExpress Logify initially provides a brief report preview that allows you to not only view the call stack, but also providing the most useful actions as simple buttons.

Logify: Smart report preview

2. Automatic translation of localized reports.

If your application is used worldwide, under many locales, you can still get reports in English. DevExpress Logify automatically translates all reports with non-English locales. Hence, you can process your reports either in (translated) English or in the original language used by the report.

3. Status highlighting.

DevExpress Logify provides you with various report statuses that assist you in processing crash reports more efficiently.

Logify: Status Highlighting

4. Report sorting.

You can use the DevExpress Logify built-in sorting to customize your reports. You can sort by report date, an application name, an application version, and so on.

 

Logify: Report sorting

 

5. Searching.

DevExpress Logify has a powerful search function, allowing you to easily find almost anything anywhere within your crash reports.

Logify: Searching

 

6. Powerful report customization.

You can easily customize your application reports’ appearance. Logify Alert allows you set up such parameters as:
- Detecting “My Code” boundaries: used to divide lines in the call stack from your application and lines in the call stack from third-party libraries.
- Call stack lines collapsing. You can use this feature to hide/show required call stack blocks within the report preview and within the detailed view.

 

Logify: Powerful report customization

7. Smart reports grouping.

As a rule, users using your application on different devices could cause the same error. As a result, your application will send several unique reports to DevExpress Logify. In this case, our service will group all these reports into one, so that you will only receive that one grouped report for that issue instead of several. This allows you to focus on the issue and not have to identify and ignore repeated reports.

Open-source Clients

All DevExpress Logify clients are open source and stored in GitHub repositories. You can explore and analyze this client code to ensure that DevExpress Logify does not collect any personal or private information. Please note that at this time, Logify is for .NET, JavaScript and node.js applications only. In particular, it does not support VCL applications.

DevExpress Logify Beta

As stated earlier, DevExpress Logify is about to be released into beta. For that to happen we need to invite developers to join the beta, to incorporate the DevExpress Logify clients into their applications and deploy. Our service – which, it must be emphasized, will be a paid service when launched – will collect your application crash logs, and provide you with the reporting web interface to allow you to analyze and understand your application issues. There are various aspects of DevExpress Logify that we wish to further test in this beta, namely a broader set of applications than we’ve used so far, how people use the reporting UI, an understanding of possible ways of charging for the service, etc.

The beta is an EXCLUSIVE beta. Participation is by INVITATION only. To join we will need to understand the basics of your application, what devices and run-times it runs on, the competency of your user base, and so on. Essentially, we want a set of developers who will use this crash reporting tool in their applications, and who will act upon the information it provides.

If wish to be considered for the DevExpress Logify beta, please contact us by email (support@devexpress.com), with a subject line of “Logify Beta”, and we’ll follow up with a short questionnaire.

Tags
16 comment(s)

I take it, obfuscated projects will not report anything useful?

17 January, 2017

.... will be a paid service when launched ...

What doese that mean in $$$?. Important to know before invest into a new project.

Wolfgang

18 January, 2017

I guess its useful, but name search and sorting amoung "six main advantages"... Are you serious?

18 January, 2017

Not part of Universal Subscription then?

18 January, 2017

May need an option for the collection/web service to email out certain exceptions as a way of "alerting"

18 January, 2017

can this be integrated to xaf?

18 January, 2017

@Martin:

It depends on a particular tool used for obfuscation. For example, if it supports creating map files required for obtaining a real call stack, we can consider developing an unmapping service for visualization related source code (like we already did for JavaScript).

@Nikolay:

The listed features are just a small part of the upcoming service :)

You are welcome to request access to the beta program, and we will be happy to show all the powerful features to you in action!

@Brian:

Of course, the popular tools and protocols (such as email and several others) for notifications (aka alerting) in the case of incoming crash reports are available.

@Paul:

Sure, the available Logify clients can be integrated into XAF apps like into any regular application:

.NET libraries for WinForms and ASP.NET parts and JavaScript for Web's client-side part.

18 January, 2017

Wolfgang: At this time, no decisions have been made about pricing, about what to price, and how. In a sense, that's also what the beta is going to help us decide: how many alerts will we get from "real-world" applications, the rate at which they'd appear, how much storage is required, etc, etc, etc.

Cheers, Julian

18 January, 2017

Will it be part of universal subscription?

18 January, 2017

Hi!

Can I use in my WinForms apps?

19 January, 2017

@XAF users:

You can find some XAF integration code in the www.devexpress.com/.../T474018 article.

20 January, 2017

@Noufal:

We’ve yet to finalize pricing for Logify but we can confirm that it will not be part of any existing annual subscription and that it will be sold as a monthly product subscription. Our beta program will help us determine the appropriate (and fair) cost structure for this product.

@Junior:

Currently, we provide seamless integration for .NET and client + server (NodeJS) JavaScript. We have updated the blog post accordingly. You are welcome to request access to the beta program, and we will be happy to guide you.

20 January, 2017

This looks really promising!

If you add the ability to send custom messages/metrics, I think we'd be all over this. Right now we use DeskMetrics, but it's a little pricey and not really ideal. Something that "just works" with your controls and with your level of support would be fantastic!

21 September, 2017

Hi!

This looks great. Having some ideas about potential pricing is ofcourse crucial, but since you can not provide that info, could you at least share info on how long we could try this out for free (beta +potentially some trial period)?

28 September, 2017

Hi!

This looks great.

19 October, 2017

Hello. How about loging in program params ?

Like

System.IO.Ports.SerialStream..ctor(String portName, Int32 baudRate, Parity parity, Int32 dataBits, StopBits stopBits, Int32 readTimeout, Int32 writeTimeout, Handshake handshake, Boolean dtrEnable, Boolean rtsEnable, Boolean discard)

what parameters were passed to the constructor ?

8 November, 2017

Please login or register to post comments.