与时间戳

问题描述:

qDebug控制台输出I写了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(); 
    } 
} 

当数据库关闭或不能连接可以在控制台中可以看出的控制台输出输出,我想要的也是开球时间戳。

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

当然可以。这样做你可以使用QTIME类,即:

qDebug() << QTime::currentTime().toString() << "YOU MESSED UP "<< db.lastError().text(); 

或者,以同样的方式,你可以打印出日期和时间信息使用QDateTime::currentDateTime()功能。

+1

QTIME( “15:33:05”)搞砸 “ORA-12541:TNS:没有监听 无法登录” 感谢名单,它解决了这个问题...ü做了一个可爱的小错字虽然:) 这将是QTime。 – RicoRicochet 2014-12-04 10:04:42

+1

@AmarjitBiswas,请看看最新的答案。我改进了一点。 – vahancho 2014-12-04 10:06:38

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

+0

任何方式在Qt 4.8中做类似的事情? – Thalia 2017-01-20 16:07:33