not sure what I was doing with those imports. also, make BaseLogger's __init__ a bit more friendly
make BaseLogger even more friendly with record() and __repr__() methods
best have the levels in __init__ and an exception repr is a pretty good exception message it turns out