本文整理汇总了C++中Configurator::logFileIsCreated方法的典型用法代码示例。如果您正苦于以下问题:C++ Configurator::logFileIsCreated方法的具体用法?C++ Configurator::logFileIsCreated怎么用?C++ Configurator::logFileIsCreated使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Configurator
的用法示例。
在下文中一共展示了Configurator::logFileIsCreated方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: LogHandler
void Configurator::LogHandler(QtMsgType type, const QMessageLogContext &context, const QString &msg)
{
QByteArray localMsg = msg.toLocal8Bit();
QString stringMsg;
QString fullFileName(context.file);
QString file;
int lastPathSeparatorIndex = fullFileName.lastIndexOf(QDir::separator());
if (lastPathSeparatorIndex)
file = fullFileName.right(fullFileName.size() - lastPathSeparatorIndex - 1);
else
file = fullFileName;
QTextStream stream(&stringMsg);
switch (type) {
case QtDebugMsg:
stream << context.category << ".DEBUG: " << localMsg.constData() << " " << " in "
<< file << " " << context.line << endl;
break;
case QtWarningMsg:
stream << context.category << ".WARNING: " << localMsg.constData() << context.function
<< " " << file << context.line << endl << endl;
break;
case QtCriticalMsg:
stream << context.category << ".CRITICAL: " << localMsg.constData() << context.function
<< " " << file << context.line << endl << endl;
break;
case QtFatalMsg:
stream << context.category << ".FATAL: " << localMsg.constData() << context.function
<< file << context.line << endl << endl;
break;
default:
stream << context.category << ".INFO: " << localMsg.constData() <<endl;
}
QTextStream(stdout) << stringMsg;
Configurator *configurator = Configurator::getInstance();
QDir logDir = configurator->getBaseDir();
QString path = logDir.absoluteFilePath("log.txt");
QFile outFile(path);
QIODevice::OpenMode ioFlags = QIODevice::WriteOnly;
if (configurator->logFileIsCreated()) {
ioFlags |= QIODevice::Append;
} else {
ioFlags |= QIODevice::Truncate;
configurator->setFileCreatedFlag();
}
if (outFile.open(ioFlags)) {
QTextStream ts(&outFile);
ts << stringMsg;
}
if (type == QtFatalMsg)
abort();
}