# shellcheck shell=dash
# TODO: Involve qb to do it.

# ___x_cmd packrun \
#   --no-elapsed --no-stdout --no-stderr \
#   -i git -l git -- git clone git@gitee.com:x-bash/log.git

# x log stderr -- The Output is Stored
# x log stdout -- The Output is Stored
# x log outerr -- The Output is Stored

___x_cmd_log_packrun(){

    # id: id
    # logger: logger

    local id=
    local logger=
    local msg=

    log:sub:init \
        --cmd "$*" \
        -i "$id" "$logger" "$msg"

    ___x_cmd log ":${logger}" info "Started at $(date)"


    local all; all="$(
        (
            "$@" | while read -r l; do
                printf "# %s\n" "$l"
            done
        ) 2>&1
    )"

    ___x_cmd log ":${logger}" info "Started at $(date)"
    ___x_cmd log ":${logger}" info \
        --eslapsed "$elapsed" \
        --outerr "$all" \
        "Finished at $(date)"
}
