00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include "LogWriter.h"
00025 #include "Utilities.h"
00026
00027
00028 #include <ctime>
00029 #include <iostream>
00030 using namespace std;
00031
00032
00033
00034 int LogWriter::logLevel = 0;
00035 char LogWriter::logPath[255];
00036
00037
00038
00039
00040
00041
00042
00043 void LogWriter::addLog(char * data){
00044 if(logLevel != 0){
00045 ofstream logOut(logPath, ios::app);
00046 logOut<<data<<endl<<endl;
00047 logOut.close();
00048 }
00049 }
00050
00051
00052
00053 void LogWriter::addLog(char* data1, char* data2){
00054 if(logLevel != 0){
00055 ofstream logOut(logPath, ios::app);
00056 logOut<<data1<<" "<<data2<<endl<<endl;
00057 logOut.close();
00058 }
00059 }
00060
00061
00062
00063 void LogWriter::addLog(const char* data1, const char* data2){
00064 if(logLevel != 0){
00065 ofstream logOut(logPath, ios::app);
00066 logOut<<data1<<" "<<data2<<endl<<endl;
00067 logOut.close();
00068 }
00069 }
00070
00071
00072
00073 void LogWriter::addLog(string data){
00074 if(logLevel != 0){
00075 ofstream logOut(logPath, ios::app);
00076 logOut<<data<<endl<<endl;
00077 logOut.close();
00078 }
00079 }
00080
00081
00082
00083 void LogWriter::addLog(string data1, string data2){
00084 if(logLevel != 0){
00085 ofstream logOut(logPath, ios::app);
00086 logOut<<data1<<" "<<data2<<endl<<endl;
00087 logOut.close();
00088 }
00089 }
00090
00091
00092
00093 void LogWriter::disableLogging(){
00094 logLevel = 0;
00095 }
00096
00097
00098
00099 int LogWriter::getLogLevel(){
00100 return logLevel;
00101 }
00102
00103
00104
00105 bool LogWriter::loggingEnabled(){
00106 if(logLevel == 0)
00107 return false;
00108 return true;
00109 }
00110
00111
00112
00113 void LogWriter::setLogLevel(int logLev){
00114 logLevel = logLev;
00115 }
00116
00117
00118
00119 void LogWriter::setLogPath(const char* lp){
00120 Utilities::safeCStringCopy(logPath, lp, 100);
00121 }
00122
00123
00124
00125 void LogWriter::writeDate(){
00126 if(logLevel != 0)
00127 return;
00128
00129
00130 time_t timeNow = time(NULL);
00131 struct tm *locTm = localtime(&timeNow);
00132
00133
00134 ofstream logOut(logPath, ios::app);
00135 if(!logOut){
00136 cout<<"No log file available. Logging disabled."<<endl;
00137 logLevel = 0;
00138 return;
00139 }
00140 logOut<<locTm->tm_mday<<"/"<<(locTm->tm_mon +1)<<"/"<<(locTm->tm_year + 1900)<<" "<<locTm->tm_hour<<":"<<locTm->tm_min<<":"<<locTm->tm_sec<<endl;
00141 }
00142