mirror of
https://github.com/apache/httpd.git
synced 2025-08-08 15:02:10 +03:00
replace duplicate code with new function ap_parse_log_level()
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@905454 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@@ -212,6 +212,7 @@
|
|||||||
* to proxy_ftp_dir_conf(mod_proxy_ftp)
|
* to proxy_ftp_dir_conf(mod_proxy_ftp)
|
||||||
* 20091230.1 (2.3.5-dev) add util_ldap_state_t.opTimeout
|
* 20091230.1 (2.3.5-dev) add util_ldap_state_t.opTimeout
|
||||||
* 20091230.2 (2.3.5-dev) add ap_get_server_name_for_url()
|
* 20091230.2 (2.3.5-dev) add ap_get_server_name_for_url()
|
||||||
|
* 20091230.3 (2.3.6-dev) add ap_parse_log_level()
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -220,7 +221,7 @@
|
|||||||
#ifndef MODULE_MAGIC_NUMBER_MAJOR
|
#ifndef MODULE_MAGIC_NUMBER_MAJOR
|
||||||
#define MODULE_MAGIC_NUMBER_MAJOR 20091230
|
#define MODULE_MAGIC_NUMBER_MAJOR 20091230
|
||||||
#endif
|
#endif
|
||||||
#define MODULE_MAGIC_NUMBER_MINOR 2 /* 0...n */
|
#define MODULE_MAGIC_NUMBER_MINOR 3 /* 0...n */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determine if the server's current MODULE_MAGIC_NUMBER is at least a
|
* Determine if the server's current MODULE_MAGIC_NUMBER is at least a
|
||||||
|
@@ -490,6 +490,14 @@ AP_DECLARE_NONSTD(const char *) ap_set_int_slot(cmd_parms *cmd,
|
|||||||
void *struct_ptr,
|
void *struct_ptr,
|
||||||
const char *arg);
|
const char *arg);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parsing function for log level
|
||||||
|
* @param str The string to parse
|
||||||
|
* @param val The parsed log level
|
||||||
|
* @return An error string or NULL on success
|
||||||
|
*/
|
||||||
|
AP_DECLARE(const char *) ap_parse_log_level(const char *str, int *val);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return true if the specified method is limited by being listed in
|
* Return true if the specified method is limited by being listed in
|
||||||
* a <Limit> container, or by *not* being listed in a <LimitExcept>
|
* a <Limit> container, or by *not* being listed in a <LimitExcept>
|
||||||
|
@@ -244,34 +244,9 @@ static const char *set_loglevel(cmd_parms *cmd, void *dummy, const char *arg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ((str = ap_getword_conf(cmd->pool, &arg))) {
|
if ((str = ap_getword_conf(cmd->pool, &arg))) {
|
||||||
if (!strcasecmp(str, "emerg")) {
|
err = ap_parse_log_level(str, &ptr->loglevel);
|
||||||
ptr->loglevel = APLOG_EMERG;
|
if (err != NULL)
|
||||||
}
|
return err;
|
||||||
else if (!strcasecmp(str, "alert")) {
|
|
||||||
ptr->loglevel = APLOG_ALERT;
|
|
||||||
}
|
|
||||||
else if (!strcasecmp(str, "crit")) {
|
|
||||||
ptr->loglevel = APLOG_CRIT;
|
|
||||||
}
|
|
||||||
else if (!strcasecmp(str, "error")) {
|
|
||||||
ptr->loglevel = APLOG_ERR;
|
|
||||||
}
|
|
||||||
else if (!strcasecmp(str, "warn")) {
|
|
||||||
ptr->loglevel = APLOG_WARNING;
|
|
||||||
}
|
|
||||||
else if (!strcasecmp(str, "notice")) {
|
|
||||||
ptr->loglevel = APLOG_NOTICE;
|
|
||||||
}
|
|
||||||
else if (!strcasecmp(str, "info")) {
|
|
||||||
ptr->loglevel = APLOG_INFO;
|
|
||||||
}
|
|
||||||
else if (!strcasecmp(str, "debug")) {
|
|
||||||
ptr->loglevel = APLOG_DEBUG;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return "DumpIOLogLevel requires level keyword: one of "
|
|
||||||
"emerg/alert/crit/error/warn/notice/info/debug";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
return "DumpIOLogLevel requires level keyword";
|
return "DumpIOLogLevel requires level keyword";
|
||||||
|
@@ -2626,34 +2626,9 @@ static const char *set_loglevel(cmd_parms *cmd, void *dummy, const char *arg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ((str = ap_getword_conf(cmd->pool, &arg))) {
|
if ((str = ap_getword_conf(cmd->pool, &arg))) {
|
||||||
if (!strcasecmp(str, "emerg")) {
|
err = ap_parse_log_level(arg, &cmd->server->loglevel);
|
||||||
cmd->server->loglevel = APLOG_EMERG;
|
if (err != NULL)
|
||||||
}
|
return err;
|
||||||
else if (!strcasecmp(str, "alert")) {
|
|
||||||
cmd->server->loglevel = APLOG_ALERT;
|
|
||||||
}
|
|
||||||
else if (!strcasecmp(str, "crit")) {
|
|
||||||
cmd->server->loglevel = APLOG_CRIT;
|
|
||||||
}
|
|
||||||
else if (!strcasecmp(str, "error")) {
|
|
||||||
cmd->server->loglevel = APLOG_ERR;
|
|
||||||
}
|
|
||||||
else if (!strcasecmp(str, "warn")) {
|
|
||||||
cmd->server->loglevel = APLOG_WARNING;
|
|
||||||
}
|
|
||||||
else if (!strcasecmp(str, "notice")) {
|
|
||||||
cmd->server->loglevel = APLOG_NOTICE;
|
|
||||||
}
|
|
||||||
else if (!strcasecmp(str, "info")) {
|
|
||||||
cmd->server->loglevel = APLOG_INFO;
|
|
||||||
}
|
|
||||||
else if (!strcasecmp(str, "debug")) {
|
|
||||||
cmd->server->loglevel = APLOG_DEBUG;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return "LogLevel requires level keyword: one of "
|
|
||||||
"emerg/alert/crit/error/warn/notice/info/debug";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
return "LogLevel requires level keyword";
|
return "LogLevel requires level keyword";
|
||||||
|
19
server/log.c
19
server/log.c
@@ -1127,6 +1127,25 @@ AP_DECLARE(void) ap_close_piped_log(piped_log *pl)
|
|||||||
apr_pool_cleanup_run(pl->p, pl, piped_log_cleanup);
|
apr_pool_cleanup_run(pl->p, pl, piped_log_cleanup);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
AP_DECLARE(const char *) ap_parse_log_level(const char *str, int *val)
|
||||||
|
{
|
||||||
|
char *err = "Loglevel keyword must be one of emerg/alert/crit/error/warn/"
|
||||||
|
"notice/info/debug";
|
||||||
|
int i = 0;
|
||||||
|
|
||||||
|
if (str == NULL)
|
||||||
|
return err;
|
||||||
|
|
||||||
|
while (priorities[i].t_name != NULL) {
|
||||||
|
if (!strcasecmp(str, priorities[i].t_name)) {
|
||||||
|
*val = priorities[i].t_val;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
|
||||||
AP_IMPLEMENT_HOOK_VOID(error_log,
|
AP_IMPLEMENT_HOOK_VOID(error_log,
|
||||||
(const char *file, int line, int level,
|
(const char *file, int line, int level,
|
||||||
apr_status_t status, const server_rec *s,
|
apr_status_t status, const server_rec *s,
|
||||||
|
@@ -530,33 +530,8 @@ int main(int argc, const char * const argv[])
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 'e':
|
case 'e':
|
||||||
if (strcasecmp(optarg, "emerg") == 0) {
|
if (ap_parse_log_level(optarg, &ap_default_loglevel) != NULL)
|
||||||
ap_default_loglevel = APLOG_EMERG;
|
|
||||||
}
|
|
||||||
else if (strcasecmp(optarg, "alert") == 0) {
|
|
||||||
ap_default_loglevel = APLOG_ALERT;
|
|
||||||
}
|
|
||||||
else if (strcasecmp(optarg, "crit") == 0) {
|
|
||||||
ap_default_loglevel = APLOG_CRIT;
|
|
||||||
}
|
|
||||||
else if (strncasecmp(optarg, "err", 3) == 0) {
|
|
||||||
ap_default_loglevel = APLOG_ERR;
|
|
||||||
}
|
|
||||||
else if (strncasecmp(optarg, "warn", 4) == 0) {
|
|
||||||
ap_default_loglevel = APLOG_WARNING;
|
|
||||||
}
|
|
||||||
else if (strcasecmp(optarg, "notice") == 0) {
|
|
||||||
ap_default_loglevel = APLOG_NOTICE;
|
|
||||||
}
|
|
||||||
else if (strcasecmp(optarg, "info") == 0) {
|
|
||||||
ap_default_loglevel = APLOG_INFO;
|
|
||||||
}
|
|
||||||
else if (strcasecmp(optarg, "debug") == 0) {
|
|
||||||
ap_default_loglevel = APLOG_DEBUG;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
usage(process);
|
usage(process);
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'E':
|
case 'E':
|
||||||
|
Reference in New Issue
Block a user