summaryrefslogtreecommitdiff
path: root/doc/guix.texi
diff options
context:
space:
mode:
authorLeo Nikkilä <hello@lnikki.la>2024-02-26 03:16:29 +0200
committerLudovic Courtès <ludo@gnu.org>2025-01-11 23:36:58 +0100
commit5ee26f0bf427608697a976c5261ac4588249809c (patch)
tree71f93593639f1ff7a3fde2acb477dc2d7fba29e4 /doc/guix.texi
parent8db6cfe02255bbd4be2448e5dd8758866963aad2 (diff)
services: nginx: Make log formats configurable.
* gnu/services/web.scm (<nginx-log-format-configuration>): New record. (<nginx-configuration>)[log-format, log-formats]: New fields. (assert-valid-log-format-escape): New procedure. (emit-nginx-log-format-config): New procedure. (default-nginx-config): Make log formats configurable. * doc/guix.texi (Web Services): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Change-Id: I8a16a1a9a20f64606dac0a1e14f1c5217d351f90
Diffstat (limited to 'doc/guix.texi')
-rw-r--r--doc/guix.texi40
1 files changed, 37 insertions, 3 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 3a64fede2d2..d6e17c74cda 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -32403,10 +32403,19 @@ started.
@item @code{log-directory} (default: @code{"/var/log/nginx"})
The directory to which NGinx will write log files.
+@item @code{log-format} (default: @code{'combined}) (type: symbol)
+Logging format for the access log. Nginx defaults to the httpd-like
+format named @code{'combined}. Other formats can be defined using
+@code{log-formats}.
+
+@item @code{log-formats} (default: @code{'()})
+A list of additional @dfn{log formats} to define, the elements should be
+of type @code{<nginx-log-format-configuration>}.
+
@item @code{log-level} (default: @code{'error}) (type: symbol)
-Logging level, which can be any of the following values: @code{'debug},
-@code{'info}, @code{'notice}, @code{'warn}, @code{'error}, @code{'crit},
-@code{'alert}, or @code{'emerg}.
+Logging level for the error log, which can be any of the following
+values: @code{'debug}, @code{'info}, @code{'notice}, @code{'warn},
+@code{'error}, @code{'crit}, @code{'alert}, or @code{'emerg}.
@item @code{run-directory} (default: @code{"/var/run/nginx"})
The directory in which NGinx will create a pid file, and write temporary
@@ -32539,6 +32548,31 @@ flattened into one line.
@end table
@end deftp
+@deftp {Data Type} nginx-log-format-configuration
+Data type representing the configuration of a custom Nginx log format.
+This type has the following parameters:
+
+@table @asis
+@item @code{name} (type: symbol)
+The name of the log format as a symbol.
+
+@item @code{escape} (default: @code{'default}) (type: symbol)
+The mode used to escape values of variables in the format. The
+supported values are:
+
+@itemize
+@item @code{'default}, to escape all characters outside of the ASCII
+ printable range.
+@item @code{'json}, to escape all characters invalid in JSON strings.
+@item @code{'none}, to disable escaping.
+@end itemize
+
+@item @code{format} (type: string)
+The format as accepted by the @code{log_format} directive.
+
+@end table
+@end deftp
+
@anchor{nginx-server-configuration}
@deftp {Data Type} nginx-server-configuration
Data type representing the configuration of an nginx server block.