logger, loop