There actually might be an "easier" solution to make the loglevel consistent. It would be be possible to remember the last loglevel in struct task_struct, and in per-CPU/per-irq-context variables. It can then be used for any follow up pr_cont() call.