- 输出到控制台
// 创建一个 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);
- 输出到文件
//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();