1 #include "../include/logfile.h"
\r
13 m_loglevel=LOGLEVEL_DEBUG;
\r
15 m_writeloglevel=false;
\r
16 m_writenewline=true;
\r
17 m_datebuffer=new char[100];
\r
20 LogFile::LogFile(const std::string &filename)
\r
23 m_loglevel=LOGLEVEL_DEBUG;
\r
25 m_writeloglevel=false;
\r
26 m_filename=filename;
\r
27 m_writenewline=true;
\r
28 m_datebuffer=new char[100];
\r
34 delete [] m_datebuffer;
\r
37 bool LogFile::CloseFile()
\r
39 //ZThread::Guard<ZThread::Mutex> g(m_logmutex);
\r
40 PThread::Guard g(m_logmutex);
\r
51 bool LogFile::OpenFile()
\r
55 //ZThread::Guard<ZThread::Mutex> g(m_logmutex);
\r
56 PThread::Guard g(m_logmutex);
\r
58 m_fileptr=fopen(m_filename.c_str(),"a+b");
\r
70 void LogFile::WriteDate()
\r
74 time_t rawtime=time(NULL);
\r
75 struct tm *timeinfo=gmtime(&rawtime);
\r
77 strftime(m_datebuffer,99,"%Y-%m-%d %H:%M:%S : ",timeinfo);
\r
78 m_datebuffer[99]=NULL;
\r
80 fputs(m_datebuffer,m_fileptr);
\r
84 void LogFile::WriteLog(const char *format, ...)
\r
87 va_start(va,format);
\r
96 //ZThread::Guard<ZThread::Mutex> g(m_logmutex);
\r
97 PThread::Guard g(m_logmutex);
\r
102 vfprintf(m_fileptr,format,va);
\r
103 if(m_writenewline==true)
\r
105 fputs("\r\n",m_fileptr);
\r
114 void LogFile::WriteLog(const std::string &text)
\r
123 //ZThread::Guard<ZThread::Mutex> g(m_logmutex);
\r
124 PThread::Guard g(m_logmutex);
\r
129 fputs(text.c_str(),m_fileptr);
\r
130 if(m_writenewline==true)
\r
132 fputs("\r\n",m_fileptr);
\r
138 void LogFile::WriteLog(const LogLevel level, const char *format, ...)
\r
140 if(level<=m_loglevel)
\r
144 va_start(va,format);
\r
153 //ZThread::Guard<ZThread::Mutex> g(m_logmutex);
\r
154 PThread::Guard g(m_logmutex);
\r
159 if(m_writeloglevel)
\r
161 WriteLogLevel(level);
\r
163 vfprintf(m_fileptr,format,va);
\r
164 if(m_writenewline==true)
\r
166 fputs("\r\n",m_fileptr);
\r
175 void LogFile::WriteLog(const LogLevel level, const std::string &text)
\r
177 if(level<=m_loglevel)
\r
186 //ZThread::Guard<ZThread::Mutex> g(m_logmutex);
\r
187 PThread::Guard g(m_logmutex);
\r
192 if(m_writeloglevel)
\r
194 WriteLogLevel(level);
\r
196 fputs(text.c_str(),m_fileptr);
\r
197 if(m_writenewline==true)
\r
199 fputs("\r\n",m_fileptr);
\r
206 void LogFile::WriteLogLevel(LogLevel level)
\r
212 case LOGLEVEL_FATAL:
\r
213 fputs("FATAL : ",m_fileptr);
\r
215 case LOGLEVEL_ERROR:
\r
216 fputs("ERROR : ",m_fileptr);
\r
218 case LOGLEVEL_WARNING:
\r
219 fputs("WARN : ",m_fileptr);
\r
221 case LOGLEVEL_INFO:
\r
222 fputs("INFO : ",m_fileptr);
\r
224 case LOGLEVEL_DEBUG:
\r
225 fputs("DEBUG : ",m_fileptr);
\r
228 fputs("???? : ",m_fileptr);
\r
234 void LogFile::WriteNewLine()
\r
236 //ZThread::Guard<ZThread::Mutex> g(m_logmutex);
\r
237 PThread::Guard g(m_logmutex);
\r
241 fputs("\r\n",m_fileptr);
\r