diff options
Diffstat (limited to 'src/logd.h')
| -rw-r--r-- | src/logd.h | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/src/logd.h b/src/logd.h new file mode 100644 index 0000000..8c7dff8 --- /dev/null +++ b/src/logd.h @@ -0,0 +1,61 @@ +/*:* + *: File: ./src/logd.h + *: + *: yChat; Homepage: www.yChat.org; Version 0.7.9.5-RELEASE + *: + *: Copyright (C) 2003 Paul C. Buetow, Volker Richter + *: Copyright (C) 2004 Paul C. Buetow + *: Copyright (C) 2005 EXA Digital Solutions GbR + *: + *: This program is free software; you can redistribute it and/or + *: modify it under the terms of the GNU General Public License + *: as published by the Free Software Foundation; either version 2 + *: of the License, or (at your option) any later version. + *: + *: This program is distributed in the hope that it will be useful, + *: but WITHOUT ANY WARRANTY; without even the implied warranty of + *: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + *: GNU General Public License for more details. + *: + *: You should have received a copy of the GNU General Public License + *: along with this program; if not, write to the Free Software + *: Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + *:*/ + +#include "incl.h" + +#ifdef LOGGING +#ifndef LOGD_H +#define LOGD_H + +#include <queue> +#include <time.h> + +class logd +{ +private: + string s_logfile; + queue<string> s_queue; + pthread_mutex_t mut_s_logging; + int i_lines; + + void initialize( string s_filename, int i_log_lines ); + void flush(); + void set_lines( const int i_lines ); + string get_time_string(); + +public: + logd( string s_filename, string s_log_lines ); + logd( string s_filename, int i_log_lines ); + ~logd(); + + void set_logfile( string s_path, string s_filename ); + void log_access( map<string,string> &map_request ); + void log_simple_line( string s_line ); + void flush_logs(); + static string remove_html_tags( string s_log ); +}; + +#endif +#endif + |
