You can use Application insights to monitor a worker role in the Azure portal. Technically Microsoft is still adding support for console and other non-web apps, but I was able to make what is already there work for my purposes.
I created an Application insight on the portal according to these instructions.
Then using the Nuget package manager in Visual Studio I added the Application insights API, Application insights for website (even though my worker role is not a web app) and the Application insights trace listener.
I then created an Application insight instance by adding the following to the worker role.
using Microsoft.ApplicationInsights;
namespace WorkerRole
{
public class WorkerRole : RoleEntryPoint
{
private TelemetryClient tc = new TelemetryClient();
And then adding this to the onStart method in the worker role.
tc.Context.InstrumentationKey = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX";
You can find you instrumentation key in the Azure portal.
After running or deploying my worker role I could then view all of my Trace.TraceInformation and TraceError statements in the Azure portal as well as add tc.TrackError and tc.TrackEvent statements to track errors, exceptions and events.