2014-12-04 285 views
2

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消息?

回答

6

當然可以。這樣做你可以使用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

9

您可以安裝消息處理程序並在每條消息之前打印出時間戳。請參閱qInstallMessageHandler的文檔。 使用此解決方案,您無需在每次致電qDebug()時添加QTimer::currentTime()

+0

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