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
50 bool LogFile::OpenFile()
\r
54 ZThread::Guard<ZThread::Mutex> g(m_logmutex);
\r
56 m_fileptr=fopen(m_filename.c_str(),"a+b");
\r
68 void LogFile::WriteDate()
\r
72 time_t rawtime=time(NULL);
\r
73 struct tm *timeinfo=gmtime(&rawtime);
\r
75 strftime(m_datebuffer,99,"%Y-%m-%d %H:%M:%S : ",timeinfo);
\r
76 m_datebuffer[99]=NULL;
\r
78 fputs(m_datebuffer,m_fileptr);
\r
82 void LogFile::WriteLog(const char *format, ...)
\r
85 va_start(va,format);
\r
94 ZThread::Guard<ZThread::Mutex> g(m_logmutex);
\r
99 vfprintf(m_fileptr,format,va);
\r
100 if(m_writenewline==true)
\r
102 fputs("\r\n",m_fileptr);
\r
111 void LogFile::WriteLog(const std::string &text)
\r
120 ZThread::Guard<ZThread::Mutex> g(m_logmutex);
\r
125 fputs(text.c_str(),m_fileptr);
\r
126 if(m_writenewline==true)
\r
128 fputs("\r\n",m_fileptr);
\r
134 void LogFile::WriteLog(const LogLevel level, const char *format, ...)
\r
136 if(level<=m_loglevel)
\r
140 va_start(va,format);
\r
149 ZThread::Guard<ZThread::Mutex> g(m_logmutex);
\r
154 if(m_writeloglevel)
\r
156 WriteLogLevel(level);
\r
158 vfprintf(m_fileptr,format,va);
\r
159 if(m_writenewline==true)
\r
161 fputs("\r\n",m_fileptr);
\r
170 void LogFile::WriteLog(const LogLevel level, const std::string &text)
\r
172 if(level<=m_loglevel)
\r
181 ZThread::Guard<ZThread::Mutex> g(m_logmutex);
\r
186 if(m_writeloglevel)
\r
188 WriteLogLevel(level);
\r
190 fputs(text.c_str(),m_fileptr);
\r
191 if(m_writenewline==true)
\r
193 fputs("\r\n",m_fileptr);
\r
200 void LogFile::WriteLogLevel(LogLevel level)
\r
206 case LOGLEVEL_FATAL:
\r
207 fputs("FATAL : ",m_fileptr);
\r
209 case LOGLEVEL_ERROR:
\r
210 fputs("ERROR : ",m_fileptr);
\r
212 case LOGLEVEL_WARNING:
\r
213 fputs("WARN : ",m_fileptr);
\r
215 case LOGLEVEL_INFO:
\r
216 fputs("INFO : ",m_fileptr);
\r
218 case LOGLEVEL_DEBUG:
\r
219 fputs("DEBUG : ",m_fileptr);
\r
222 fputs("???? : ",m_fileptr);
\r
228 void LogFile::WriteNewLine()
\r
230 ZThread::Guard<ZThread::Mutex> g(m_logmutex);
\r
234 fputs("\r\n",m_fileptr);
\r