Tracing in Microsoft Azure Cloud Service

Setting Up the Tracing

Since it took me some time to figure out again what to do to see the tracing output of my Microsoft Azure Worker Role in a Cloud Service, here are some hints.

First, read How To Enable Diagnostics in a Cloud Service. Following the step-by-step description solves most of the issues. I think it’s worth mentioning that there is no need to do any coding to enable tracing when following these steps. One just have to add the tracing messages themselves to the code.

Then, I created a new Cloud Service and a new Storage Account in the Microsoft Azure Management portal.

Before publishing the Cloud Services, I changed the size of the VM from the default value “Small” to “ExtraSmall” in the ServiceDefinition.csdef file. This size fits for testing purposes and is way cheaper.

After publishing the service to Windows Azure, I had to adjust the diagnostics settings manually. No idea why Azure was not using the settings of the config files – maybe I missed some. I used the Server Explorer of Visual Studio. Just right-click on the role node in the Windows Azure / Cloud Services tree, and make sure to take the proper deployment slot (production or staging). Then select Update Diagnostics Settings… and set the required values of the Application logs tab page.

Diagnostic Settings

Accessing the Output

To access the output, I use the Server Explorer of Visual Studio too. There is no need to install third-party tool for this.

The trace output can be found under the Storage node. Find the Storage Account created for the Cloud Service and open the Tables node. There should be a WADLogsTable item. If not, check all steps described by How To Enable Diagnostics in a Cloud Service and if you have updated the diagnostics settings. Double-clicking the WADLogsTable item will open the table containing the trace output.


How To Enable Diagnostics in a Cloud Service

Take Control of Logging and Tracing in Microsoft Azure (a little bit outdated, but still helpful)

Azure Execution Models (describes and compares Azure Virtual Machines, Web Sites and Cloud Services)

Enable / Disable Power Button on Start Screen of Windows 8.1 Update

After installing the Windows 8.1. Update on my Windows RT device, I was missing the power button on the start page (for new features in Windows 8.1. Update, see

Looking around in the Web, I learned that the appearance of the power button depends on the device type and size, not on the CPU architecture (x86/x64 or ARM) – see Windows Experience Blog.

Also, I found a hint about how to change the registry to enable / disable the power button myself.

But this post states that I should add a new value to the key HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ImmersiveShell\Launcher, which means this change has only effect for the current user. Since I wanted to enable the power button for all users of the device, I added the following value to this key:


New value: Launcher_ShowPowerButtonOnStartScreen, type DWORD, value 1

Now all users of my Windows RT tablet have the power button on the start page.

Avoid CSS Footer Class To Overlap Content


Unfortunately I can’t recall where I found the initial implementation. Anyway, from somewhere I copied some CSS class definition to create a footer that is fixed at bottom of a web page, no matter how high the browser window and the page’s content is.

When using this in my ASP.NET MVC 5 Web application (that was based on Bootstrap, I noticed that, when I resized the browser window by making it narrower and less high, the footer was overlapping some of the page’s content when the page’s content needs to be scrolled.

My first thought was that something with Bootstrap went wrong. But later on I learned that Bootstrap was not involved here.

Because it took me some time to find a work-around, I will describe it here for later re-use.

The Footer Definition

The CSS Class

The CSS definition I found in the Web looks like this:

.footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  /* Set the minimum height of the footer here */
  min-height: 60px;
  background-color: rgb(238, 238, 238);

The Footer Definition

The class was used like this by the _Layout.cshtml file:

<footer class="footer">
  <p>© @DateTime.Now.Year by proccelerate GmbH</p>


I found the explanation for the observed behavior on Stack Overflow:

“…[position: absolute]… takes your element out of the document’s regular flow, so there’s no way for the text to have any positional-relationship with it, unfortunately.”

I found a JavaScript based attempt to solve this here, but it did not worked correctly in my app.


Well, at least I added a “filler” below the page’s redenred body that makes sure there will be enough space for the footer in case the content of the page needs to be scrolled.
Maybe the height of the filler needs to be adjusted in your code. This depends on your page’s content.

This is the changed content of the _Layout.cshtml file (snipped):

<div class="container body-content">
  <div style="height:45px;"></div>



Stack Overflow: bootstrap footer hiding contents above it

Stack Overflow: Stop absolutely positioned div from overlapping text