ctodx

This Blog

News

Favorite Posts

Archives

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.

Published Jan 17 2017, 10:17 PM by
Filed under:
Bookmark and Share

Comments

Martin Hart

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

January 17, 2017 11:56 PM

wolfgang hauer

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

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

Wolfgang

January 18, 2017 1:21 AM

Nikolay Bobrovskiy 1

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

January 18, 2017 1:56 AM

Andrew P Gilbert

Not part of Universal Subscription then?

January 18, 2017 2:15 AM

Brian Maxim

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

January 18, 2017 3:20 AM

Paul Kubb

can this be integrated to xaf?

January 18, 2017 3:33 AM

Mike (DevExpress Support)

@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.

January 18, 2017 8:01 AM

Julian Bucknall (DevExpress)

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

January 18, 2017 8:47 AM

Noufal Aboobacker 1

Will it be part of universal subscription?

January 18, 2017 10:37 AM

Junior Thurler

Hi!

Can I use in my WinForms apps?

January 19, 2017 8:00 AM

Dennis (DevExpress Support)

@XAF users:

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

January 20, 2017 1:33 AM

Mike (DevExpress Support)

@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.

January 20, 2017 8:28 AM

Grant Pearson

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!

September 21, 2017 7:20 AM

Uldis Rats

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)?

September 28, 2017 3:49 AM

Gregory Garkavy

Hi!

This looks great.

October 19, 2017 4:03 AM

Evgeny Tsarev

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 ?

November 8, 2017 1:32 AM

About Julian Bucknall (DevExpress)

Julian is the Chief Technology Officer at Developer Express. You can reach him directly at julianb@devexpress.com. You can also follow him on Twitter with the ID JMBucknall.
LIVE CHAT

Chat is one of the many ways you can contact members of the DevExpress Team.
We are available Monday-Friday between 7:30am and 4:30pm Pacific Time.

If you need additional product information, write to us at info@devexpress.com or call us at +1 (818) 844-3383

FOLLOW US

DevExpress engineers feature-complete Presentation Controls, IDE Productivity Tools, Business Application Frameworks, and Reporting Systems for Visual Studio, along with high-performance HTML JS Mobile Frameworks for developers targeting iOS, Android and Windows Phone. Whether using WPF, ASP.NET, WinForms, HTML5 or Windows 10, DevExpress tools help you build and deliver your best in the shortest time possible.

Copyright © 1998-2017 Developer Express Inc.
All trademarks or registered trademarks are property of their respective owners