extract code from uvx-log into a separate component: loge