Today we're proud to introduce you to our new open-source package: Vapor UI. In short, this package provides a beautiful dashboard within your Vapor powered application that allows you to monitor your application's logs and failed queue jobs.
Once you install the Vapor UI Dashboard in your application, you can visit
/vapor-ui URI to access the dashboard:
In this screenshot, you can see that the "Logs" tab will appear by default in addition to other information about the project.
As you may know, Laravel provides support for a variety of logging services. By default, when using Vapor, your application will use the AWS CloudWatch service when logging messages.
The "Logs" tab allows you to search your application's logs stored in AWS CloudWatch. In the navigation sidebar, you may choose between the HTTP, CLI, or Queue log layers.
Remember, even if you configure a different logging service for your application logs, the AWS CloudWatch service and Vapor UI will display your infrastructure logs as well. Infrastructure logs may include logs regarding AWS Lambda timeouts, etc.
You may filter your logs by a full-text search that looks inside the log information, by "Log type", or "Starting from" date:
Consider always searching using a recent "Starting from" date. The CloudWatch API can have long response times while searching far into the past.
For better troubleshooting, you may also filter by "Timeout". It can be very useful to better understand why some requests result in a "502 Bad Gateway":
Of course, you can also see the log detail by clicking the "eye" icon close to the log:
The log detail contains contain relevant information such as the log message, log payload, location of the error, and more.
Within the "Failed Jobs" tab, you can view the list of failed jobs, their names, the reason for failure, and the time of failure:
Of course, just like in the "Logs" tab, you can perform full-text search or filter by "Starting from" date. Once you enter the detail view of a failed job, you can access more information about the job, such as the job ID, connection, queue, and more.
Also, you may choose to retry or to delete the failed job:
Vapor UI documentation can be found here. We hope you enjoy this new package and thank you for your continued support of the Laravel ecosystem!