Global Variable Contention
This library has both a global and a #define where it checks both. The biggest problem I see with this is in a threaded environment, there's going to be contention if one thread wants to set to INFO while the other is trying to set to something else. Usually not a huge deal but I actually just ran into it so... a quick solution is to use TLS. Each thread has its own copy defaulting to WARNING and each thread can set its own without worry of contention.
Unfortunately, this somewhat gets complicated quickly when VC++ doesn't support C99 which added support for __thread. They do support, however, __declspec(thread). A quick check can fix that.
As far as I am aware, C99 did not add support for threading at all. Support for threading was added in C11, and the specifier is _Thread_local. It will take some time to fix this. I will first have to play around with C11 threads before I can fix this. __thread seems to be non-standard.