summaryrefslogtreecommitdiffhomepage
path: root/src/nxt_router.h
diff options
context:
space:
mode:
authorZhidao HONG <z.hong@f5.com>2024-01-23 18:57:30 +0800
committerZhidao HONG <z.hong@f5.com>2024-01-29 13:48:53 +0800
commit4c91bebb50d06b28e369d68b23022caa072cf62d (patch)
treefb15434e915f77041e56b111bfca90ce8e83ebe6 /src/nxt_router.h
parent37abe2e4633d66241bf1766a740d2b2734c132fa (diff)
downloadunit-4c91bebb50d06b28e369d68b23022caa072cf62d.tar.gz
unit-4c91bebb50d06b28e369d68b23022caa072cf62d.tar.bz2
HTTP: enhanced access log with conditional filtering.
This feature allows users to specify conditions to control if access log should be recorded. The "if" option supports a string and JavaScript code. If its value is empty, 0, false, null, or undefined, the logs will not be recorded. And the '!' as a prefix inverses the condition. Example 1: Only log requests that sent a session cookie. { "access_log": { "if": "$cookie_session", "path": "..." } } Example 2: Do not log health check requests. { "access_log": { "if": "`${uri == '/health' ? false : true}`", "path": "..." } } Example 3: Only log requests when the time is before 22:00. { "access_log": { "if": "`${new Date().getHours() < 22}`", "path": "..." } } or { "access_log": { "if": "!`${new Date().getHours() >= 22}`", "path": "..." } } Closes: https://github.com/nginx/unit/issues/594
Diffstat (limited to '')
-rw-r--r--src/nxt_router.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/nxt_router.h b/src/nxt_router.h
index b14f8410..3e523001 100644
--- a/src/nxt_router.h
+++ b/src/nxt_router.h
@@ -54,6 +54,8 @@ typedef struct {
nxt_router_access_log_t *access_log;
nxt_tstr_t *log_format;
+ nxt_tstr_t *log_expr;
+ uint8_t log_negate; /* 1 bit */
} nxt_router_conf_t;