There is a plenty diversity in information units through the code, command-line options, GUI and logs. Here are some examples:

`-dbcache`
**megabytes** in CL and GUI _vs_ **MiB** in logs and code (constants in [txdb.h](https://github.com/bitcoin/bitcoin/blob/master/src/txdb.h))

`-prune`
**MiB** in CL _vs_ **GB** in GUI. Also, setting prune = 1 GB in GUI gives _incorrect_ prune target = 1000 MiB.

Which prefix type -- binary (a power of 2) or SI (a power of 10) -- is preferable in the Bitcoin Core project?
LogPrintf("%s: parameter interaction: -blocksonly=1 -> setting -whitelistrelay=0\n", __func__);
    }
    
    if (gArgs.GetBoolArg("-whitelistforcerelay", DEFAULT_WHITELISTFORCERELAY)) {
        if (gArgs.SoftSetBoolArg("-whitelistrelay", true))
            LogPrintf("%s: parameter interaction: -whitelistforcerelay=1 -> setting -whitelistrelay=1\n", __func__);
    }
    
    
    
    std::string network = gArgs.GetChainName();
    for (const auto& arg : gArgs.GetUnsuitableSectionOnlyArgs()) {
        InitWarning(strprintf(_("Config setting for %s only applied on %s network when in [%s] section."), arg, network, network));
    }
    
    for (const auto& section : gArgs.GetUnrecognizedSections()) {
        InitWarning(strprintf(_("Section [%s] is not recognized."), section));
    }
}
static std::string ResolveErrMsg(const char * const optname, const std::string& strBind)
{
    return strprintf(_("Cannot resolve -%s address: '%s'"), optname, strBind);
}
/**
 * Initialize global loggers.
 *
 * Note that this is called very early in the process lifetime, so you should be
 * careful about what global state you rely on here.
 */
void InitLogging()