I’ve been meaning to do a series of tutorials and articles about the use cases for our Willow for Wowza Media Server product and I thought I would start with something I have been working on lately.
One of the main reasons I personally use Willow is to debug applications as I build them. One of the coolest and most convenient features for a Wowza Media Server developer is that within Willow is the ability to watch the log go by in real time. Usually you would have to watch a terminal window and maybe tail the log file as it gets written to. A more tedious option is to keep opening the access log, but that is a last resort as it can take a lot of time when they are bigger and you only want to know something that happened very recently.
Within the code of a Wowza Media Server application might be bits of logging code to trace out what is going on and when. You may also want to keep track of errors and warnings. The live log feature of Willow allows you to not only watch the whole log go by in real time, but also to be able to filter on the log entries. So, for example, perhaps you aren’t interested in anything other than your own log items in your code. Your code may look like this:
getLogger().info(“Just logging an item here to keep track of things”);
This you may want to change to this:
getLogger().info(“##Willow — Just logging an item here to keep track of things”);
Then, inside of Willow in the live log section you would put in the filter for that:
Just apply the filter and now Willow will not log and show you anything other than if that string was in the log entry. On a busy server this is invaluable to see what is happening without having to watch everything else going by. Combined with the fact that you can do this from any computer instead of having to be on the server.
The second very cool and handy feature of Willow when doing development is the ability to arbitrarily create a connection to an application with ease. In the “Test Connectivity” section, all you have to do is select the application you want to connect to and click the connect button. With this you can very quickly test some onConnect or onAppStart code for example without having to create a dummy application to do so. Then just quickly flip over to the Live Log to see what is happening. As you can see here, I have a screenshot of what is happening when I do a connection. The exact same info is showing up in the live log too!
If you wanted to, you could even run two instances of the client side of Willow without any restrictions and watch the live log as you continue working elsewhere in Willow.
Anyways, this is just one basic use case of Willow that I really want to get across to anybody who works with Willow. There’s a very good reason this has become our flagship product with a demand that has well exceeded any of our other applications. It works, it’s simple and it saves time.