带有Timestamp的qDebug控制台输出

Ric*_*het 4 c++ qt timestamp database-connection qt4

我写了一个用于测试数据库连接的qt小型控制台实用程序,代码块是:

db.setHostName("hostIP");    
db.setDatabaseName("name");    
db.setUserName("uid");    
db.setPassword("pw");    
db.setPort(1521);

while(true)
{
    if (db.open())
    {
        qDebug()<<"OPEN";
        db.close();
    }
    else
    {
        qDebug()<<"YOU MESSED UP "<<db.lastError().text();
    }
}
Run Code Online (Sandbox Code Playgroud)

数据库关闭或无法连接的控制台输出可以在控制台输出中看到,我想要的也是开发时间戳.

有没有办法在控制台上打印事件时间戳以及qDebug消息???

tom*_*odi 11

您可以安装消息处理程序并在每条消息之前打印出时间戳.请参阅此文档qInstallMessageHandler.使用此解决方案,您无需QTimer::currentTime()每次调用都添加qDebug().


vah*_*cho 7

你当然可以.为此,您可以使用QTime类,即:

qDebug() << QTime::currentTime().toString() << "YOU MESSED UP "<< db.lastError().text();
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用相同的方式打印日期和时间信息QDateTime::currentDateTime().