2013-10-10 5 views
6

Come posso modificare la directory di output in Google glog?Modifica directory di registrazione in Google gloria

ho trovato solo google::SetLogDestination(google::LogSeverity, const char* path)

provato con:

google::SetLogDestination(ERROR, "C:\\log\\error.log); 
google::InitGoogleLogging("Test"); 

LOG(ERROR) << "TEST"; 

ma nulla è stato scritto!

Btw .: se suggerisci un'altra libreria leggera, facile da usare e thread-safe, per favore fatemelo sapere!

Thx per qualsiasi aiuto!

+0

Sei sicuro che la fuga funziona correttamente in quella stringa di percorso? Che cosa si tenta di impostare la directory di registro sulla riga di comando con: 'GLOG_log_dir = C: \ log \ error.log./Your_application' – NicholasM

risposta

8

È possibile anche effettuare una delle operazioni seguenti:

Far passare la directory di registro come un argomento di comando fino a quando si ha la libreria GFlgas installato:

./your_application --log_dir=/some/log/directory 

Se non si desidera passarlo nella riga di comando e invece impostarlo nella sorgente:

FLAGS_log_dir = "/some/log/directory"; 

se la biblioteca di Google gflags non è installato è possibile impostare come una variabile d'ambiente:

GLOG_log_dir=/some/log/directory ./your_application 
3

Ecco la prova di quello che ho fatto, si può provare,

#include <glog/logging.h> 

using namespace std; 

int main(int /*argc*/, char** argv) 
{ 
    FLAGS_logtostderr = true; 
    google::SetLogDestination(google::GLOG_INFO,"c:/lovelyGoogle"); 
    google::InitGoogleLogging(argv[0]); 

    LOG(INFO) << "This is INFO"; 
    LOG(WARNING) << "This is WARNING"; 
    LOG(ERROR) << "This is Error"; 

    system("pause"); 
    return 0; 
} 

Testato in Visual Studio 2012, google-glog 0.3.3 su Windows 7.
Ha generato lvoelyGoogle20131016-141423.5160 sul mio autista C.
Se si imposta FLAGS_logtostderr = false, il file di log non verrà generato,

credo che avete già letto this (beh, non ho alcun commento su di esso)

speranza questa utile, buona fortuna.


PS: Ho testato su QtCreator (Qt5.1) nonché su Windows7, uscita nulla. Non ho idea di come aggiustarlo ora.

+0

Strano! Grazie comunque per il tuo aiuto! – leon22

1

Io uso questo:

fLS::FLAGS_log_dir = "c:/Documents/logs";