At Nodes we have been working hard on a Vapor 3 provider for Bugsnag. Bugsnag is a reporting tool that we use extensively to help catch and fix bugs.
In the new version of the library, we've been able to remove a lot of dead code, simplify the API and add support for breadcrumbs.
Migration to Vapor 3
The migration from Vapor 2 to Vapor 3 was a relatively easy one for Bugsnag. The major changes were the use of Codable and the introduction of Futures.
One of the double-edged-swords of Vapor 3 is the asynchronous design. The asynchronous nature of the framework makes stack traces virtually useless. Sadly, we had to remove support for Stack and stack traces.
Registration has seen an update as well. It now uses the Service system.
let reporter =BugsnagReporter(
apiKey: "<YOUR BUGSNAG API KEY>",
shouldReport: environment.name !="local"
With a newly simplified API, we introduced support for severities.
After the migration to Vapor 3, we updated the Bugsnag payload version from 2 to 4. This allows us to support newer features as well as silence warnings about deprecated APIs.
After many feature requests, we have now integrated breadcrumbs into the latest version. Breadcrumb is a feature that helps ease the debugging process by enabling a user to attach data to the life-cycle of a request. To drop a breadcrumb just use the convenience function on Request.
Swift Package Manager plugins are a great way of automating tasks, like, enforcing code conventions and style.
In this tutorial we're going to learn what are package plugins and implement 2 plugins; one that outputs code statistics and another that genera...
Hi, this is Bitcoin and from now on it will live with us!
Traditional money has long been outdated and is gradually losing its popularity.
In most cases, we already use electronic money.
But e-money is not much different from cash, except in form, but the...