printk: split out core logging code into helper function