- [x] Extract log levels + `getLogLevelName()` into a separate class/enum, - [x] Get rid of `LogException` for invalid log level in `write()` - move it to `log()` - [x] Extract log formatting & writing into separate classes - [x] Drop varargs from logging methods - [ ] Implement logging categories
getLogLevelName()into a separate class/enum,LogExceptionfor invalid log level inwrite()- move it tolog()