log4qt 输出到控制台和文件

  1. 输出到控制台
    // 创建一个 TTCCLayout(输出时间、线程、Logger 以及消息内容)
       Log4Qt::Logger *logger = Log4Qt::Logger::rootLogger();
       Log4Qt::TTCCLayout *layout = new Log4Qt::TTCCLayout();
       layout->setName("My Layout");
       layout->activateOptions();

       // 创建一个 ConsoleAppender(将日志内容输出到控制台上)
       Log4Qt::ConsoleAppender *appender = new Log4Qt::ConsoleAppender();
       appender->setName("My Appender");
       appender->setLayout(layout);
       appender->setEncoding(QTextCodec::codecForName("UTF-8"));  // 设置编码
       appender->setTarget(Log4Qt::ConsoleAppender::STDOUT_TARGET);  // 输出到 stdout
       appender->setImmediateFlush(true);  // 立即刷新
       appender->setThreshold(Log4Qt::Level::INFO_INT);  // 设置阈值级别为 INFO
       appender->activateOptions();

       // 在 logger 上添加 appender
       logger->addAppender(appender);

       // 设置级别为 DEBUG
       logger->setLevel(Log4Qt::Level::DEBUG_INT);

  1. 输出到文件
    //log pattern
    Log4Qt::Logger *log = Log4Qt::Logger::rootLogger();
    Log4Qt::PatternLayout *lay = new Log4Qt::PatternLayout(Log4Qt::PatternLayout::TTCC_CONVERSION_PATTERN);
    lay->setConversionPattern("%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n");


    Log4Qt::FileAppender *fileappender = new Log4Qt::FileAppender(lay, QString(LOG_PATH) + "/TagDataMonitorLog_"+QDateTime::currentDateTime().toString("yyyyMMddhhmmss")+ ".log");
    fileappender->setAppendFile(true);
    fileappender->activateOptions();
    fileappender->setEncoding(QTextCodec::codecForName("UTF-8"));
    log->addAppender(fileappender);

    delete dirtmp;
    log->deleteLater();


猜你喜欢

转载自blog.csdn.net/mafucun1988/article/details/84957670