diff options
| author | Paul Buetow (mars.fritz.box) <paul@buetow.org> | 2013-12-15 11:49:02 +0100 |
|---|---|---|
| committer | Paul Buetow (mars.fritz.box) <paul@buetow.org> | 2013-12-15 11:49:02 +0100 |
| commit | 3a96ab7e91145b367d05e98533b5f426f762f83f (patch) | |
| tree | ac7758a706066e14b785ab6e5f7071a54baa856b /yhttpd/src/logd.cpp | |
| parent | 332d7b2107833018b3ef67b64ffe121bff1ef4fb (diff) | |
add packagespackages
Diffstat (limited to 'yhttpd/src/logd.cpp')
| -rw-r--r-- | yhttpd/src/logd.cpp | 175 |
1 files changed, 0 insertions, 175 deletions
diff --git a/yhttpd/src/logd.cpp b/yhttpd/src/logd.cpp deleted file mode 100644 index 664cd14..0000000 --- a/yhttpd/src/logd.cpp +++ /dev/null @@ -1,175 +0,0 @@ - -#ifndef LOGD_CPP -#define LOGD_CPP - -#include "logd.h" - -#ifdef LOGGING - -#include <fstream> - -logd::logd( string s_filename, string s_log_lines ) -{ - initialize( s_filename, tool::string2int(s_log_lines) ); -} - -logd::logd( string s_filename, int i_log_lines ) -{ - initialize( s_filename, i_log_lines ); -} - -logd::~logd() -{ - flush_logs(); - pthread_mutex_destroy( &mut_s_logging ); -} - -void -logd::initialize( string s_filename, int i_log_lines ) -{ - pthread_mutex_init( &mut_s_logging, NULL ); - - if( s_filename.empty() ) - { - wrap::system_message( LOGERR2 ); - exit(1); - } - - //if (wrap::NCUR->is_ready()) - // wrap::system_message(LOGGINI+s_filename); - - s_logfile = s_filename; - i_lines = i_log_lines; -} - -string -logd::get_time_string() -{ - struct tm *t_m; - time_t t_cur = time(NULL); - t_m = gmtime(&t_cur); - - char c_buf[100]; - c_buf[99] = '\0'; - strftime(c_buf, 100, "[%d/%b/%Y:%H:%M:%S %z]", t_m); - - return string(c_buf); -} - -void -logd::flush() -{ - ofstream of_output; - of_output.open(s_logfile.c_str(), ios::app); - - if( of_output == NULL ) - { - wrap::system_message( LOGERR1 + s_logfile ); - exit(1); - } - - while( ! s_queue.empty() ) - { - string s_l=s_queue.front(); - s_queue.pop(); - of_output.write( s_l.c_str(), s_l.size() ); - } - - of_output.close(); -} - -void -logd::log_access( map<string,string> &map_request ) -{ - //static int i_access_lines = wrap::CONF->get_elem("httpd.logging.access_lines"); - - string s_time = get_time_string(); - string s_logstr = map_request["REMOTE_ADDR"] + " - - "+s_time+" \"" + map_request["QUERY_STRING"]+"\" 200 0 \""+map_request["request"]+"\" \""+map_request["User-Agent"]+"\"\n"; - - pthread_mutex_lock ( &mut_s_logging ); - s_queue.push(s_logstr); - - if ( s_queue.size() > i_lines ) - flush(); - - pthread_mutex_unlock( &mut_s_logging ); -} - -void -logd::log_simple_line( string s_line ) -{ - // Dont log empty lines! - if (s_line.empty()) - return; - - string s_time = get_time_string(); - string s_logstr = s_time + " " + s_line; - - pthread_mutex_lock ( &mut_s_logging ); - s_queue.push(s_logstr); - - if ( s_queue.size() > i_lines ) - flush(); - - pthread_mutex_unlock( &mut_s_logging ); -} - -void -logd::set_logfile( string s_path, string s_filename ) -{ - // Remove "/" from filename! - unsigned i_pos = s_filename.find( "/" ); - while ( i_pos != string::npos ) - { - s_filename.replace( i_pos, 1, "SLASH" ); - i_pos = s_filename.find( "/" ); - } - - // Remove "\" from filename (for non unix systems)! - i_pos = s_filename.find( "\\" ); - while ( i_pos != string::npos ) - { - s_filename.replace( i_pos, 1, "BACKSLASH" ); - i_pos = s_filename.find( "\\" ); - } - - pthread_mutex_lock ( &mut_s_logging ); - this->s_logfile = s_path + s_filename; - pthread_mutex_unlock( &mut_s_logging ); -} - -void -logd::flush_logs() -{ - pthread_mutex_lock ( &mut_s_logging ); - flush(); - pthread_mutex_unlock( &mut_s_logging ); -} - -string -logd::remove_html_tags( string s_logs ) -{ - unsigned pos[2]; - - while ( (pos[0] = s_logs.find("<")) != string::npos ) - { - if ( (pos[1] = s_logs.find(">", pos[0])) != string::npos ) - s_logs.replace( pos[0], pos[1]-pos[0]+1, ""); - else - break; - } - - if ( s_logs == "\n" ) - return ""; - - return s_logs; -} - -void -logd::set_lines( const int i_lines ) -{ - this->i_lines = i_lines; -} - -#endif -#endif |
