Add basic logging functions

* error(fmt, args)
* warn(fmt, args)
* info(fmt, args)
* debug(fmt, args)