[PATCH 3 of 4] Core: simplified log levels matching

Maxim Dounin mdounin at mdounin.ru
Sun Jun 16 03:24:00 UTC 2024


# HG changeset patch
# User Maxim Dounin <mdounin at mdounin.ru>
# Date 1718501950 -10800
#      Sun Jun 16 04:39:10 2024 +0300
# Node ID dc678c5dbd83fb80bca6a5ce388f5f64d2752a84
# Parent  70b8d952a8a8398b485b9bcb14582164d8e7b697
Core: simplified log levels matching.

diff --git a/src/core/ngx_log.c b/src/core/ngx_log.c
--- a/src/core/ngx_log.c
+++ b/src/core/ngx_log.c
@@ -613,18 +613,12 @@ ngx_log_set_log(ngx_conf_t *cf, ngx_log_
 static char *
 ngx_log_set_levels(ngx_conf_t *cf, ngx_log_t *log)
 {
-    ngx_uint_t   i, n, d, found;
+    ngx_uint_t   i, n, d;
     ngx_str_t   *value;
 
-    if (cf->args->nelts == 2) {
-        log->log_level = NGX_LOG_ERR;
-        return NGX_CONF_OK;
-    }
-
     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) {
@@ -637,8 +631,7 @@ ngx_log_set_levels(ngx_conf_t *cf, ngx_l
                 }
 
                 log->log_level = n;
-                found = 1;
-                break;
+                goto next;
             }
         }
 
@@ -652,17 +645,21 @@ ngx_log_set_levels(ngx_conf_t *cf, ngx_l
                 }
 
                 log->log_level |= d;
-                found = 1;
-                break;
+                goto next;
             }
         }
 
+        ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
+                           "invalid log level \"%V\"", &value[i]);
+        return NGX_CONF_ERROR;
 
-        if (!found) {
-            ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
-                               "invalid log level \"%V\"", &value[i]);
-            return NGX_CONF_ERROR;
-        }
+    next:
+
+        continue;
+    }
+
+    if (log->log_level == 0) {
+        log->log_level = NGX_LOG_ERR;
     }
 
     if (log->log_level == NGX_LOG_DEBUG) {




More information about the nginx-devel mailing list