function prototype logger