
cherokee at cherokee-project
Jun 29, 2009, 7:02 AM
Views: 107
Permalink
|
|
[3400] cherokee/trunk: Deprecates the W3C logger.
|
|
Revision: 3400 http://svn.cherokee-project.com/changeset/3400 Author: alo Date: 2009-06-29 16:02:21 +0200 (Mon, 29 Jun 2009) Log Message: ----------- Deprecates the W3C logger. Modified Paths: -------------- cherokee/trunk/admin/PageVServer.py cherokee/trunk/admin/consts.py cherokee/trunk/cherokee/Makefile.am cherokee/trunk/configure.in Removed Paths: ------------- cherokee/trunk/cherokee/logger_w3c.c cherokee/trunk/cherokee/logger_w3c.h Modified: cherokee/trunk/admin/PageVServer.py =================================================================== --- cherokee/trunk/admin/PageVServer.py 2009-06-28 18:42:51 UTC (rev 3399) +++ cherokee/trunk/admin/PageVServer.py 2009-06-29 14:02:21 UTC (rev 3400) @@ -539,69 +539,50 @@ if format: writers = '' - # Accesses & Error together - if format == 'w3c': - cfg_key = "%s!all!type"%(pre) - table = TableProps() - self.AddPropOptions_Ajax (table, _('Accesses and Errors'), cfg_key, - LOGGER_WRITERS, _(NOTE_ACCESSES_ERRORS)) - writers += str(table) + # Accesses + cfg_key = "%s!access!type"%(pre) + table = TableProps() + self.AddPropOptions_Ajax (table, _('Accesses'), cfg_key, LOGGER_WRITERS, _(NOTE_ACCESSES)) + writers += str(table) - all = self._cfg.get_val(cfg_key) - if not all or all == 'file': - t1 = TableProps() - self.AddPropEntry (t1, _('Filename'), '%s!all!filename'%(pre), _(NOTE_WRT_FILE)) - writers += str(t1) - elif all == 'exec': - t1 = TableProps() - self.AddPropEntry (t1, _('Command'), '%s!all!command'%(pre), _(NOTE_WRT_EXEC)) - writers += str(t1) + access = self._cfg.get_val(cfg_key) + if not access or access == 'file': + t1 = TableProps() + self.AddPropEntry (t1, _('Filename'), '%s!access!filename'%(pre), _(NOTE_WRT_FILE)) + writers += str(t1) + elif access == 'exec': + t1 = TableProps() + self.AddPropEntry (t1, _('Command'), '%s!access!command'%(pre), _(NOTE_WRT_EXEC)) + writers += str(t1) - else: - # Accesses - cfg_key = "%s!access!type"%(pre) - table = TableProps() - self.AddPropOptions_Ajax (table, _('Accesses'), cfg_key, LOGGER_WRITERS, _(NOTE_ACCESSES)) - writers += str(table) + if format == 'custom': + t2 = TableProps() + self._add_logger_template(t2, pre, 'access') + writers += str(t2) - access = self._cfg.get_val(cfg_key) - if not access or access == 'file': - t1 = TableProps() - self.AddPropEntry (t1, _('Filename'), '%s!access!filename'%(pre), _(NOTE_WRT_FILE)) - writers += str(t1) - elif access == 'exec': - t1 = TableProps() - self.AddPropEntry (t1, _('Command'), '%s!access!command'%(pre), _(NOTE_WRT_EXEC)) - writers += str(t1) + writers += "<hr />" - if format == 'custom': - t2 = TableProps() - self._add_logger_template(t2, pre, 'access') - writers += str(t2) + # Error + cfg_key = "%s!error!type"%(pre) + table = TableProps() + self.AddPropOptions_Ajax (table, _('Errors'), cfg_key, LOGGER_WRITERS, _(NOTE_ERRORS)) + writers += str(table) - writers += "<hr />" + error = self._cfg.get_val(cfg_key) + if not error or error == 'file': + t1 = TableProps() + self.AddPropEntry (t1, _('Filename'), '%s!error!filename'%(pre), _(NOTE_WRT_FILE)) + writers += str(t1) + elif error == 'exec': + t1 = TableProps() + self.AddPropEntry (t1, _('Command'), '%s!error!command'%(pre), _(NOTE_WRT_EXEC)) + writers += str(t1) - # Error - cfg_key = "%s!error!type"%(pre) - table = TableProps() - self.AddPropOptions_Ajax (table, _('Errors'), cfg_key, LOGGER_WRITERS, _(NOTE_ERRORS)) - writers += str(table) + if format == 'custom': + t2 = TableProps() + self._add_logger_template(t2, pre, 'error') + writers += str(t2) - error = self._cfg.get_val(cfg_key) - if not error or error == 'file': - t1 = TableProps() - self.AddPropEntry (t1, _('Filename'), '%s!error!filename'%(pre), _(NOTE_WRT_FILE)) - writers += str(t1) - elif error == 'exec': - t1 = TableProps() - self.AddPropEntry (t1, _('Command'), '%s!error!command'%(pre), _(NOTE_WRT_EXEC)) - writers += str(t1) - - if format == 'custom': - t2 = TableProps() - self._add_logger_template(t2, pre, 'error') - writers += str(t2) - txt += '<h2>%s</h2>' % (_('Writers')) txt += self.Indent(writers) @@ -695,11 +676,7 @@ return to_be_deleted = [] - if logger == 'w3c': - to_be_deleted.append('%s!access' % cfg_key) - to_be_deleted.append('%s!error' % cfg_key) - else: - to_be_deleted.append('%s!all' % cfg_key) + to_be_deleted.append('%s!all' % cfg_key) for entry in self._cfg[cfg_key]: if logger == "stderr" or \ Modified: cherokee/trunk/admin/consts.py =================================================================== --- cherokee/trunk/admin/consts.py 2009-06-28 18:42:51 UTC (rev 3399) +++ cherokee/trunk/admin/consts.py 2009-06-29 14:02:21 UTC (rev 3400) @@ -57,7 +57,6 @@ LOGGERS = [. ('', N_('None')), ('combined', N_('Apache compatible')), - ('w3c', N_('W3C')), ('ncsa', N_('NCSA')), ('custom', N_('Custom')) ] Modified: cherokee/trunk/cherokee/Makefile.am =================================================================== --- cherokee/trunk/cherokee/Makefile.am 2009-06-28 18:42:51 UTC (rev 3399) +++ cherokee/trunk/cherokee/Makefile.am 2009-06-29 14:02:21 UTC (rev 3400) @@ -883,23 +883,6 @@ # -# Logger W3C -# -logger_w3c = \ -logger_w3c.h \ -logger_w3c.c - -libplugin_w3c_la_LDFLAGS = $(module_ldflags) -libplugin_w3c_la_SOURCES = $(logger_w3c) - -if STATIC_LOGGER_W3C -static_logger_w3c_src = $(logger_w3c) -else -dynamic_logger_w3c_lib = libplugin_w3c.la -endif - - -# # Validator PAM # if HAVE_PAM @@ -1245,6 +1228,8 @@ nullable.h \ util.h \ util.c \ +error_log.h \ +error_log.c \ human_strcmp.h \ human_strcmp.c \ trace.h \ @@ -1386,7 +1371,6 @@ $(static_handler_server_info_src) \ $(static_handler_dbslayer_src) \ \ -$(static_logger_w3c_src) \ $(static_logger_ncsa_src) \ $(static_logger_custom_src) \ $(static_logger_combined_src) \ @@ -1569,7 +1553,6 @@ $(dynamic_handler_dbslayer_lib) \ $(dynamic_encoder_gzip_lib) \ $(dynamic_encoder_deflate_lib) \ -$(dynamic_logger_w3c_lib) \ $(dynamic_logger_ncsa_lib) \ $(dynamic_logger_custom_lib) \ $(dynamic_logger_combined_lib) \ Deleted: cherokee/trunk/cherokee/logger_w3c.c =================================================================== --- cherokee/trunk/cherokee/logger_w3c.c 2009-06-28 18:42:51 UTC (rev 3399) +++ cherokee/trunk/cherokee/logger_w3c.c 2009-06-29 14:02:21 UTC (rev 3400) @@ -1,349 +0,0 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ - -/* Cherokee - * - * Authors: - * Alvaro Lopez Ortega <alvaro[at]alobbs.com> - * - * Copyright (C) 2001-2009 Alvaro Lopez Ortega - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of version 2 of the GNU General Public - * License as published by the Free Software Foundation. - * - * 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., 51 Franklin Street, Fifth Floor, Boston, MA - * 02110-1301, USA. - */ - -#include "common-internal.h" -#include "logger_w3c.h" - -#include <stdio.h> -#include <stdlib.h> -#include <stdarg.h> -#include <sys/types.h> -#include <unistd.h> -#include <fcntl.h> - -#ifdef HAVE_SYS_TIME_H -# include <sys/time.h> -#else -# include <time.h> -#endif - -#include "util.h" -#include "connection.h" -#include "connection-protected.h" -#include "module.h" -#include "server.h" -#include "server-protected.h" -#include "header.h" -#include "header-protected.h" - -/* Plug-in initialization - */ -PLUGIN_INFO_LOGGER_EASIEST_INIT (w3c); - - -/* Documentation: - * - http://www.w3.org/TR/WD-logfile - */ - -#define IN_ADDR(c) ((struct in_addr) (c).sin_addr) - -ret_t -cherokee_logger_w3c_new (cherokee_logger_t **logger, - cherokee_virtual_server_t *vsrv, - cherokee_config_node_t *config) -{ - ret_t ret; - CHEROKEE_NEW_STRUCT (n, logger_w3c); - - /* Init the base class object - */ - cherokee_logger_init_base (LOGGER(n), PLUGIN_INFO_PTR(w3c), config); - - MODULE(n)->init = (logger_func_init_t) cherokee_logger_w3c_init; - MODULE(n)->free = (logger_func_free_t) cherokee_logger_w3c_free; - LOGGER(n)->flush = (logger_func_flush_t) cherokee_logger_w3c_flush; - LOGGER(n)->get_error_writer = (logger_func_get_error_writer_t) cherokee_logger_w3c_get_error_writer; - LOGGER(n)->write_error = (logger_func_write_error_t) cherokee_logger_w3c_write_error; - LOGGER(n)->write_access = (logger_func_write_access_t) cherokee_logger_w3c_write_access; - LOGGER(n)->write_string = (logger_func_write_string_t) cherokee_logger_w3c_write_string; - - ret = cherokee_logger_w3c_init_base (n, vsrv, config); - if (unlikely(ret < ret_ok)) - return ret; - - /* Return the object - */ - *logger = LOGGER(n); - return ret_ok; -} - - -ret_t -cherokee_logger_w3c_init_base (cherokee_logger_w3c_t *logger, - cherokee_virtual_server_t *vsrv, - cherokee_config_node_t *config) -{ - ret_t ret; - cherokee_config_node_t *subconf; - - /* Init Properties - */ - logger->header_added = false; - logger->now_time = (time_t) -1; - - /* Init the local buffers - */ - cherokee_buffer_init (&logger->now_buf); - cherokee_buffer_ensure_size (&logger->now_buf, 64); - - /* Init the logger writers - */ - ret = cherokee_config_node_get (config, "all", &subconf); - if (ret == ret_ok) { - ret = cherokee_server_get_log_writer (VSERVER_SRV(vsrv), subconf, &logger->writer); - if (ret != ret_ok) { - return ret_error; - } - } - - return ret_ok; -} - - -ret_t -cherokee_logger_w3c_init (cherokee_logger_w3c_t *logger) -{ - ret_t ret; - - /* Open the log writer. - */ - ret = cherokee_logger_writer_open (logger->writer); - if (ret != ret_ok) return ret; - - return ret_ok; -} - - -ret_t -cherokee_logger_w3c_free (cherokee_logger_w3c_t *logger) -{ - cherokee_buffer_mrproper (&logger->now_buf); - return ret_ok; -} - - -ret_t -cherokee_logger_w3c_reopen (cherokee_logger_w3c_t *logger) -{ - return cherokee_logger_writer_reopen (logger->writer); -} - - -ret_t -cherokee_logger_w3c_flush (cherokee_logger_w3c_t *logger) -{ - return cherokee_logger_writer_flush (logger->writer, false); -} - - -ret_t -cherokee_logger_w3c_write_error (cherokee_logger_w3c_t *logger, cherokee_connection_t *cnt) -{ - ret_t ret; - cuint_t method_len = 0; - const char *method; - cherokee_buffer_t *log; - - /* Get the logger writer buffer - */ - cherokee_logger_writer_get_buf (logger->writer, &log); - - /* Read the bogonow value from the server - */ - if (unlikely (logger->now_time != CONN_THREAD(cnt)->bogo_now)) { - struct tm *pnow_tm; - - logger->now_time = CONN_THREAD(cnt)->bogo_now; - pnow_tm = &CONN_THREAD(cnt)->bogo_now_tmloc; - - cherokee_buffer_clean (&logger->now_buf); - cherokee_buffer_add_va (&logger->now_buf, - "%02d:%02d:%02d ", - pnow_tm->tm_hour, - pnow_tm->tm_min, - pnow_tm->tm_sec); - } - - if (unlikely (! logger->header_added)) { - struct tm *pnow_tm = &CONN_THREAD(cnt)->bogo_now_tmloc; - - cherokee_buffer_add_va (log, - "#Version 1.0\n" - "#Date: %02d-%s-%4d %02d:%02d:%02d\n" - "#Fields: time cs-method cs-uri\n", - pnow_tm->tm_mday, - month[pnow_tm->tm_mon], - 1900 + pnow_tm->tm_year, - pnow_tm->tm_hour, - pnow_tm->tm_min, - pnow_tm->tm_sec); - logger->header_added = true; - } - - /* HTTP method - */ - cherokee_http_method_to_string (cnt->header.method, &method, &method_len); - - /* Build the string - */ - cherokee_buffer_add_buffer (log, &logger->now_buf); - cherokee_buffer_add_str (log, "[error] "); - cherokee_buffer_add (log, method, (size_t) method_len); - cherokee_buffer_add_char (log, ' '); - - if (! cherokee_buffer_is_empty (&cnt->request_original)) { - cherokee_buffer_add_buffer (log, &cnt->request_original); - } else { - cherokee_buffer_add_buffer (log, &cnt->request); - if (! cherokee_buffer_is_empty (&cnt->query_string)) { - cherokee_buffer_add_char (log, '?'); - cherokee_buffer_add_buffer (log, &cnt->query_string); - } - } - - cherokee_buffer_add_char (log, '\n'); - - /* Error are not buffered - */ - ret = cherokee_logger_writer_flush (logger->writer, true); - if (unlikely (ret != ret_ok)) { - goto error; - } - - cherokee_logger_writer_release_buf (logger->writer); - return ret_ok; - -error: - cherokee_logger_writer_release_buf (logger->writer); - return ret_error; -} - - -ret_t -cherokee_logger_w3c_get_error_writer (cherokee_logger_w3c_t *logger, - cherokee_logger_writer_t **writer) -{ - *writer = NULL; - return ret_ok; -} - -ret_t -cherokee_logger_w3c_write_string (cherokee_logger_w3c_t *logger, const char *string) -{ - ret_t ret; - cherokee_buffer_t *log; - - /* Get the buffer - */ - cherokee_logger_writer_get_buf (logger->writer, &log); - - ret = cherokee_buffer_add (log, string, strlen(string)); - if (unlikely (ret != ret_ok)) { - goto error; - } - - /* Flush buffer if full - */ - if (log->len < logger->writer->max_bufsize) { - goto ok; - } - - ret = cherokee_logger_writer_flush (logger->writer, true); - if (unlikely (ret != ret_ok)) { - goto error; - } - -ok: - cherokee_logger_writer_release_buf (logger->writer); - return ret_ok; - -error: - cherokee_logger_writer_release_buf (logger->writer); - return ret_error; -} - - -ret_t -cherokee_logger_w3c_write_access (cherokee_logger_w3c_t *logger, cherokee_connection_t *cnt) -{ - cuint_t method_len = 0; - const char *method; - cherokee_buffer_t *log; - cherokee_buffer_t *request; - - /* Get the logger writer buffer - */ - cherokee_logger_writer_get_buf (logger->writer, &log); - - /* Read the bogonow value from the server - */ - if (unlikely (logger->now_time != CONN_THREAD(cnt)->bogo_now)) { - struct tm *pnow_tm; - - logger->now_time = CONN_THREAD(cnt)->bogo_now; - pnow_tm = &CONN_THREAD(cnt)->bogo_now_tmloc; - - cherokee_buffer_clean (&logger->now_buf); - cherokee_buffer_add_va (&logger->now_buf, - "%02d:%02d:%02d ", - pnow_tm->tm_hour, - pnow_tm->tm_min, - pnow_tm->tm_sec); - } - - if (unlikely (! logger->header_added)) { - struct tm *pnow_tm = &CONN_THREAD(cnt)->bogo_now_tmloc; - - cherokee_buffer_add_va (log, - "#Version 1.0\n" - "#Date: %02d-%s-%4d %02d:%02d:%02d\n" - "#Fields: time cs-method cs-uri\n", - pnow_tm->tm_mday, - month[pnow_tm->tm_mon], - 1900 + pnow_tm->tm_year, - pnow_tm->tm_hour, - pnow_tm->tm_min, - pnow_tm->tm_sec); - logger->header_added = true; - } - - /* HTTP Method - */ - cherokee_http_method_to_string (cnt->header.method, &method, &method_len); - - /* Build the string - */ - request = cherokee_buffer_is_empty(&cnt->request_original) ? - &cnt->request : &cnt->request_original; - - cherokee_buffer_add_buffer (log, &logger->now_buf); - cherokee_buffer_add (log, method, (size_t) method_len); - cherokee_buffer_add_char (log, ' '); - cherokee_buffer_add_buffer (log, request); - cherokee_buffer_add_char (log, '\n'); - - cherokee_logger_writer_release_buf (logger->writer); - return ret_ok; -} - Deleted: cherokee/trunk/cherokee/logger_w3c.h =================================================================== --- cherokee/trunk/cherokee/logger_w3c.h 2009-06-28 18:42:51 UTC (rev 3399) +++ cherokee/trunk/cherokee/logger_w3c.h 2009-06-29 14:02:21 UTC (rev 3400) @@ -1,67 +0,0 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ - -/* Cherokee - * - * Authors: - * Alvaro Lopez Ortega <alvaro[at]alobbs.com> - * - * Copyright (C) 2001-2009 Alvaro Lopez Ortega - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of version 2 of the GNU General Public - * License as published by the Free Software Foundation. - * - * 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., 51 Franklin Street, Fifth Floor, Boston, MA - * 02110-1301, USA. - */ - -#ifndef CHEROKEE_LOGGER_W3C_H -#define CHEROKEE_LOGGER_W3C_H - -#include "common.h" - -#include <sys/types.h> -#include <sys/stat.h> -#include <unistd.h> -#include <fcntl.h> -#include <time.h> - -#include "connection.h" -#include "logger.h" -#include "logger_writer.h" -#include "virtual_server.h" - -typedef struct { - cherokee_logger_t logger; - cherokee_boolean_t header_added; - time_t now_time; - cherokee_buffer_t now_buf; - cherokee_logger_writer_t *writer; -} cherokee_logger_w3c_t; - -#define LOG_W3C(x) ((cherokee_logger_w3c_t *)(x)) - -ret_t cherokee_logger_w3c_new (cherokee_logger_t **logger, cherokee_virtual_server_t *vsrv, cherokee_config_node_t *config); -ret_t cherokee_logger_w3c_init_base (cherokee_logger_w3c_t *logger, cherokee_virtual_server_t *vsrv, cherokee_config_node_t *config); - -/* virtual methods implementation - */ -ret_t cherokee_logger_w3c_init (cherokee_logger_w3c_t *logger); -ret_t cherokee_logger_w3c_free (cherokee_logger_w3c_t *logger); - -ret_t cherokee_logger_w3c_flush (cherokee_logger_w3c_t *logger); -ret_t cherokee_logger_w3c_reopen (cherokee_logger_w3c_t *logger); -ret_t cherokee_logger_w3c_get_error_writer (cherokee_logger_w3c_t *logger, cherokee_logger_writer_t **writer); - -ret_t cherokee_logger_w3c_write_access (cherokee_logger_w3c_t *logger, cherokee_connection_t *conn); -ret_t cherokee_logger_w3c_write_error (cherokee_logger_w3c_t *logger, cherokee_connection_t *conn); -ret_t cherokee_logger_w3c_write_string (cherokee_logger_w3c_t *logger, const char *string); - -#endif /* CHEROKEE_LOGGER_W3C_H */ Modified: cherokee/trunk/configure.in =================================================================== --- cherokee/trunk/configure.in 2009-06-28 18:42:51 UTC (rev 3399) +++ cherokee/trunk/configure.in 2009-06-29 14:02:21 UTC (rev 3400) @@ -1288,7 +1288,7 @@ AC_HELP_STRING([--enable-static-module=MODULE][]), [use_static_module="$use_static_module $enableval "],[]) -modules="error_redir error_nn server_info file admin dirlist fcgi fastcgi scgi redir common cgi phpcgi proxy mirror ssi secdownload empty_gif custom_error dbslayer streaming gzip deflate ncsa combined custom w3c pam ldap mysql htpasswd plain htdigest authlist round_robin ip_hash directory extensions request header exists fullpath method from bind geoip wildcard rehost evhost libssl not and or" +modules="error_redir error_nn server_info file admin dirlist fcgi fastcgi scgi redir common cgi phpcgi proxy mirror ssi secdownload empty_gif custom_error dbslayer streaming gzip deflate ncsa combined custom pam ldap mysql htpasswd plain htdigest authlist round_robin ip_hash directory extensions request header exists fullpath method from bind geoip wildcard rehost evhost libssl not and or" # Remove modules that will not be compiles # @@ -1368,7 +1368,6 @@ AM_CONDITIONAL(STATIC_ENCODER_DEFLATE, grep deflate $conf_h >/dev/null) AM_CONDITIONAL(STATIC_LOGGER_NCSA, grep ncsa $conf_h >/dev/null) AM_CONDITIONAL(STATIC_LOGGER_COMBINED, grep combined $conf_h >/dev/null) -AM_CONDITIONAL(STATIC_LOGGER_W3C, grep w3c $conf_h >/dev/null) AM_CONDITIONAL(STATIC_LOGGER_CUSTOM, grep custom $conf_h >/dev/null) AM_CONDITIONAL(STATIC_VALIDATOR_PAM, grep pam $conf_h >/dev/null) AM_CONDITIONAL(STATIC_VALIDATOR_LDAP, grep ldap $conf_h >/dev/null)
|