Abstract Log generator