more general logger factory