Generify logging part 1