QT⾃定义⽇志格式
void myMessageOutput(QtMsgType type,const QMessageLogContext &context,const QString &msg)
{
QByteArray localMsg = Local8Bit();
switch(type){
case QtDebugMsg:
fprintf(stderr,"Debug: %s (%s:%u, %s)\n", stData(), context.file, context.line, context.function);
break;
case QtWarningMsg:
fprintf(stderr,"Warning: %s (%s:%u, %s)\n", stData(), context.file, context.line, context.function);
break;
case QtCriticalMsg:
fprintf(stderr,"Critical: %s (%s:%u, %s)\n", stData(), context.file, context.line, context.function);
break;
case QtFatalMsg:
fprintf(stderr,"Fatal: %s (%s:%u, %s)\n", stData(), context.file, context.line, context.function);
abort();
}
}
在main⾥⾯只需调⽤
int main(int argc,char**argv)
{
qInstallMessageHandler(myMessageOutput);
QApplication app(argc, argv);
...
();
}
还有⼀种就是下⾯的⽅法
qSetMessagePattern("[%{type}] [%{time yyyy-MM-dd hh:mm:ss ddd}] [%{file} Line:%{line}] Function:%{function}() %{message}");
但是这种需要在qt帮助⽂档⾥⾯看⼀下,有些不⽀持time
还有就是QT帮助⽂档⾥⾯改变环境变量
fprintf格式
Example:
QT_MESSAGE_PATTERN="[%{if-debug}D%{endif}%{if-warning}W%{endif}%{if-critical}C%{endif}%{if-fatal}F%{endif}] %{file}:%{line} - %{message}"

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。