GPS Sport Sniffer is a open source GPS application developed with Qt and made in...
[gpssportsniffer] / log.cpp
1 #include "log.h"
2 #include <QDate>
3 #include <QMessageBox>
4 #include <QFile>
5 #include <QDebug>
6
7 Log::Log(QString fileText,int verbosity)
8     :verbosity(verbosity)
9 {
10     QString name = QString(APPLICATION_PATH);
11     name.append(QDate::currentDate().toString(DATE_FORMAT));
12     file = new QFile(name.append("_" + fileText));
13
14     if (!file->open(QIODevice::WriteOnly | QIODevice::Text)){
15         qDebug() << "Error: Can not write Log file!";
16         return;
17     }
18     QTextStream out(file);
19     out << "start logging\n" << file << "out=" << &out << ", verbosity:" << verbosity << "(0->debug, 1->info, 2->warn, 3->error)\n";
20
21 }
22
23 Log::Log(QWidget *win, QString fileText,int verbosity)
24     :verbosity(verbosity)
25 {
26     QString name = QString(APPLICATION_PATH);
27     name.append(QDate::currentDate().toString(DATE_FORMAT));
28
29     file = new QFile(name.append("_" + fileText));
30     if (!file->open(QIODevice::WriteOnly | QIODevice::Text)){
31         QMessageBox::information(win, tr("GPSSniffer"),tr("Error: Can not write Log file!"));
32
33         return;
34     }
35     QTextStream out(file);
36     out << "start logging\n"<< file << "out=" << &out << ", verbosity:" << verbosity << "(0->debug, 1->info, 2->warn, 3->error)\n";
37
38 }
39 Log::~Log(){
40     if(file)
41         file->close();
42     delete file;
43 }
44
45
46 void Log::setVerbosity(int num){
47     verbosity=num;
48 }
49
50 int Log::getVerbosity(){
51     return verbosity;
52 }
53
54 void Log::debug(QString msg){
55     QTextStream out(file);
56     if(&out!=0){
57         if(verbosity==0){
58             out << QDateTime::currentDateTime().toString(CLEAN_DATE_FORMAT)<< " [DEBUG] " << msg << "\n";
59         }
60     }
61 }
62
63 void Log::info(QString msg){
64     QTextStream out(file);
65     if(&out!=0){
66        if(verbosity<=1){
67             out << QDateTime::currentDateTime().toString(CLEAN_DATE_FORMAT)<< " [INFO] " << msg << "\n";
68        }
69     }
70 }
71
72 void Log::warn(QString msg){
73     QTextStream out(file);
74     if(&out!=0){
75         if(verbosity<=2){
76            out << QDateTime::currentDateTime().toString(CLEAN_DATE_FORMAT)<< " [WARN] " << msg << "\n";
77         }
78     }
79 }
80
81 void Log::err(QString msg){
82     QTextStream out(file);
83     if(&out!=0){
84         if(verbosity<=3){
85             out << QDateTime::currentDateTime().toString(CLEAN_DATE_FORMAT)<< " [ERROR] " << msg << "\n";
86         }
87     }
88 }
89
90
91
92