Qt Creator 调试控制台无法查看 log4z 的日志

qInstallMessageHandler(outputMessage); 重定向日志到 log4z 后无法查看打印的日志信息。

解决方法

改造 log4z 库,Android 环境下使用 qInfo 将日志输出到调试控制台。

void LogerManager::showColorText(const char *text, int level)
{
    if(level <= LOG_LEVEL_DEBUG || level > LOG_LEVEL_FATAL)
    {
        printf("%s", text);
        return;
    }

#ifdef __ANDROID__
    // Android 下 printf 无法输出到调试控制台,但是 Qt 的 qDebug() 可以
    qInfo() << text;
#else
#ifndef WIN32
    printf("%s%s\e[0m", LOG_COLOR[level], text);
#else

    Log4zAutoLocker l(_scLock);
    HANDLE hStd = ::GetStdHandle(STD_OUTPUT_HANDLE);

    if(hStd == INVALID_HANDLE_VALUE)
    {
        return;
    }

    CONSOLE_SCREEN_BUFFER_INFO oldInfo;

    if(!GetConsoleScreenBufferInfo(hStd, &oldInfo))
    {
        return;
    }
    else
    {
        SetConsoleTextAttribute(hStd, LOG_COLOR[level]);
        printf("%s", text);
        SetConsoleTextAttribute(hStd, oldInfo.wAttributes);
    }

#endif
    fflush(stdout);
    return;
}

相关推荐

  1. Qt Creator 调试控制台无法查看 log4z

    2024-04-23 00:26:03       30 阅读
  2. log4j2配置

    2024-04-23 00:26:03       29 阅读
  3. Docker logs 命令——查看docker容器

    2024-04-23 00:26:03       76 阅读
  4. QT log

    2024-04-23 00:26:03       32 阅读
  5. log4j2 xml 配置文件 屏蔽 第三方 依赖包

    2024-04-23 00:26:03       54 阅读
  6. Nestjs使用log4j打印

    2024-04-23 00:26:03       66 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-23 00:26:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-23 00:26:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-23 00:26:03       87 阅读
  4. Python语言-面向对象

    2024-04-23 00:26:03       96 阅读

热门阅读

  1. 解决Valid在@RequestParam场景不生效的问题

    2024-04-23 00:26:03       39 阅读
  2. C语言例题(递归、二分查找、冒泡排序)

    2024-04-23 00:26:03       36 阅读
  3. 在nginx配置中返回文本

    2024-04-23 00:26:03       36 阅读
  4. 年轻人选择程序员岗位往往都有哪些原因

    2024-04-23 00:26:03       27 阅读
  5. 若依框架升级SpringBoot3

    2024-04-23 00:26:03       38 阅读
  6. 设计模式|组合模式(Composite Pattern)

    2024-04-23 00:26:03       37 阅读
  7. mybatis使用xml中的if-else/choose

    2024-04-23 00:26:03       34 阅读
  8. c#程序调用c++开发dll库

    2024-04-23 00:26:03       30 阅读
  9. C# AutoResetEvent

    2024-04-23 00:26:03       30 阅读
  10. MongoDB【五】索引

    2024-04-23 00:26:03       35 阅读
  11. 牛客网华为机试题说明一

    2024-04-23 00:26:03       32 阅读
  12. k8s的服务Service暴露应用

    2024-04-23 00:26:03       31 阅读
  13. 【c/c++】cpp对c的函数扩展

    2024-04-23 00:26:03       31 阅读