qt qDebug兼容LOGE

时间:2024-06-08 15:58:39

目录

普通qDebug用法

qt qDebug兼容LOGE

模板参数2实现


qDebug 实现LOGE一样的用法,这样Android和qt同时支持LOGE打印日志

普通qDebug用法

#include <QApplication>
#include <QDebug>

int main(int argc, char *argv[]) {
    QApplication app(argc, argv);

    int ret = -1; // Example error code
    qDebug() << "mpp_enc_cfg_init failed ret" << ret;

    return app.exec();
}

qt qDebug兼容LOGE

#define LOGD(...) logDebug(__VA_ARGS__)

void logDebug() {
    qDebug() << "";
}

template<typename T, typename... Args>
void logDebug(T value, Args... args) {
    qDebug() << value;
    logDebug(args...);
}


// 基础logDebug函数,用于处理没有参数的情况
void logDebug(const QString &message) {
    qDebug() << message;
}

// 变参模板函数,用于处理一个或多个参数的情况
template <typename T,