basic outline of logging framework