Archive for February, 2009
Windows Azure Log Viewer
Posted by bill in Windows Azure on February 10, 2009
As Chris and Don are fond of saying, Windows Azure is a “nascent” technology. This means that there are features that, although they may be in a future release, are simply not there right now. One of these is the ability to easily read the log entries from your Windows Azure applications running in the cloud. I’ve built a little app that will hopefully make it a bit easier!
First, a quick intro: You can write messages to Windows Azure Logs by calling the RoleManager.WriteToLog() method in the Microsoft.ServiceHosting.ServiceRuntime namespace. When the app is running in the development fabric, you can see the messages in the Development Fabric UI. When the app is running in the cloud, the messages just sort of exist in the Web or Worker role that they originated in. To view them, you first need to copy them to a Windows Azure storage account. You do this by clicking the Configure button for your app, and then clicking Copy Logs.
At this point, your logs are now stored as blobs in Windows Azure storage. To get at them using just the SDK tools, you can use the CloudDrive sample (as described in this great post by Jim Nakashima.) Inspired by David Aiken’s Windows Azure Online Log Reader, I’ve created a WPF app that should make it really easy to view your logs.
Using it is pretty straightforward: when the application starts up it will prompt you for a storage account name and secret key. When you log in, the app scans blob storage for any container that includes a blob whose name begins with “WebRole” or “WorkerRole”. That way, it filters out blob containers that don’t contain log entries. Then it parses the blob names and creates a tree view of the logs (essentially, recreating the hierarchy shown in the development fabric UI.)
You can also modify various display settings. As always, there are a few things that I still want to add:
- Search functionality
- Support for combining logs (so that you don’t need to look at logs in 15 minute increments)
- Sorting by column (it’s why I made the column headers buttons – they don’t do anything right now!)
- Persist settings in-between sessions
At any rate, I hope you find it useful!
It’s About Time!
Posted by bill in Uncategorized on February 10, 2009
I realize I’m very late to the party but the time has come for me to enter the blogosphere. A number of factors have led to this, but these are probably relevant only to me! In considering what to post “out of the gate” I’ve determined that there are two questions I ought to answer: 1) who am I? and 2) what will I be blogging about?
In answer to the first question, and as the blog title confirms, my name is Bill Lodin and I work for a technical training company called IT Mentors. I consider myself first and foremost to be a software developer, although like most developers my job responsibilities often expand beyond that role. My personal history as a programmer began in the early 1980s with the Aim 65 and the Apple II+, and although I did not formally pursue computer science (I majored in Communication Studies) I found myself working with proprietary mainframe technologies by the late 1990s. I started working for Tim at IT Mentors in January 2000, teaching Java to mainframe developers in New York and New Jersey. Nowadays, I spend most of my time with .NET and related technologies, and I consider C# to be my current “native language.” In fact, in the unlikely event that you’ve heard of me before this, it is probably because of the in-person and web-based training I’ve done for Microsoft over the past five years.
On to question two, “what will I be blogging about?” The short answer is, “whatever strikes me as interesting but mostly it will probably be related to .NET and Windows development.” The long answer will have to wait for another post. No, that’s not meant to be a tease; I just feel that blog entries ought to be reasonably short and this one is already feeling long-winded!