mirror of
https://github.com/nginx/nginx.git
synced 2024-12-12 18:29:00 +08:00
Merging r4013, r4200:
error_log related fixes: *) Complain on invalid log levels. Previously only first log level was required to be correct, while error_log directive in fact accepts list of levels (e.g. one may specify "error_log ... debug_core debug_http;"). This resulted in (avoidable) wierd behaviour on missing semicolon after error_log directive, e.g. error_log /path/to/log info index index.php; silently skipped index directive and it's arguments (trying to interpret them as log levels without checking to be correct). *) Fixed configuration summary and manpage contents for the special --error-log-path=stderr case.
This commit is contained in:
parent
f59e9d45fb
commit
1b6bed1c8e
@ -53,7 +53,7 @@ esac
|
||||
|
||||
|
||||
case ".$NGX_ERROR_LOG_PATH" in
|
||||
./*)
|
||||
./* | .)
|
||||
;;
|
||||
|
||||
*)
|
||||
@ -78,7 +78,7 @@ manpage:
|
||||
sed -e "s|%%PREFIX%%|$NGX_PREFIX|" \\
|
||||
-e "s|%%PID_PATH%%|$NGX_PID_PATH|" \\
|
||||
-e "s|%%CONF_PATH%%|$NGX_CONF_PATH|" \\
|
||||
-e "s|%%ERROR_LOG_PATH%%|$NGX_ERROR_LOG_PATH|" \\
|
||||
-e "s|%%ERROR_LOG_PATH%%|${NGX_ERROR_LOG_PATH:-stderr}|" \\
|
||||
< man/nginx.8 > $NGX_OBJS/nginx.8
|
||||
|
||||
install: $NGX_OBJS${ngx_dirsep}nginx${ngx_binext} \
|
||||
@ -137,7 +137,7 @@ install: $NGX_OBJS${ngx_dirsep}nginx${ngx_binext} \
|
||||
END
|
||||
|
||||
|
||||
if test -n "\$(DESTDIR)$NGX_ERROR_LOG_PATH"; then
|
||||
if test -n "$NGX_ERROR_LOG_PATH"; then
|
||||
cat << END >> $NGX_MAKEFILE
|
||||
|
||||
test -d '\$(DESTDIR)`dirname "$NGX_ERROR_LOG_PATH"`' || \
|
||||
|
@ -369,12 +369,13 @@ ngx_log_create(ngx_cycle_t *cycle, ngx_str_t *name)
|
||||
char *
|
||||
ngx_log_set_levels(ngx_conf_t *cf, ngx_log_t *log)
|
||||
{
|
||||
ngx_uint_t i, n, d;
|
||||
ngx_uint_t i, n, d, found;
|
||||
ngx_str_t *value;
|
||||
|
||||
value = cf->args->elts;
|
||||
|
||||
for (i = 2; i < cf->args->nelts; i++) {
|
||||
found = 0;
|
||||
|
||||
for (n = 1; n <= NGX_LOG_DEBUG; n++) {
|
||||
if (ngx_strcmp(value[i].data, err_levels[n].data) == 0) {
|
||||
@ -387,7 +388,8 @@ ngx_log_set_levels(ngx_conf_t *cf, ngx_log_t *log)
|
||||
}
|
||||
|
||||
log->log_level = n;
|
||||
continue;
|
||||
found = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -401,11 +403,13 @@ ngx_log_set_levels(ngx_conf_t *cf, ngx_log_t *log)
|
||||
}
|
||||
|
||||
log->log_level |= d;
|
||||
found = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (log->log_level == 0) {
|
||||
if (!found) {
|
||||
ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
|
||||
"invalid log level \"%V\"", &value[i]);
|
||||
return NGX_CONF_ERROR;
|
||||
|
Loading…
Reference in New Issue
Block a user