[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
241/244: services: nginx: Make logging level configurable.
From: |
guix-commits |
Subject: |
241/244: services: nginx: Make logging level configurable. |
Date: |
Wed, 12 Apr 2023 08:49:39 -0400 (EDT) |
apteryx pushed a commit to branch staging
in repository guix.
commit 2e8d618861fcb69a28dc0581c93d6eb278a5e679
Author: Bruno Victal <mirai@makinata.eu>
AuthorDate: Mon Apr 3 12:58:02 2023 +0100
services: nginx: Make logging level configurable.
* gnu/services/web.scm (<nginx-configuration>)[log-level]: New field.
(assert-valid-log-level): New procedure.
(default-nginx-config): Make log-level configurable.
* doc/guix.texi (Web Services): Document it.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
---
doc/guix.texi | 5 +++++
gnu/services/web.scm | 19 ++++++++++++++++++-
2 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index fa6c9f46a3..acb6f0c2e1 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -29889,6 +29889,11 @@ started.
@item @code{log-directory} (default: @code{"/var/log/nginx"})
The directory to which NGinx will write log files.
+@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}.
+
@item @code{run-directory} (default: @code{"/var/run/nginx"})
The directory in which NGinx will create a pid file, and write temporary
files.
diff --git a/gnu/services/web.scm b/gnu/services/web.scm
index d56e893527..4fe9c2d9ab 100644
--- a/gnu/services/web.scm
+++ b/gnu/services/web.scm
@@ -15,6 +15,7 @@
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020, 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro>
;;; Copyright © 2022 Simen Endsjø <simendsjo@gmail.com>
+;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -51,6 +52,8 @@
#:use-module (gnu packages logging)
#:use-module (gnu packages mail)
#:use-module (gnu packages rust-apps)
+ #:autoload (guix i18n) (G_)
+ #:use-module (guix diagnostics)
#:use-module (guix packages)
#:use-module (guix records)
#:use-module (guix modules)
@@ -61,6 +64,7 @@
#:use-module ((guix packages) #:select (package-version))
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-9)
+ #:use-module (srfi srfi-34)
#:use-module (ice-9 match)
#:use-module (ice-9 format)
#:export (httpd-configuration
@@ -96,6 +100,7 @@
nginx-configuration-nginx
nginx-configuration-shepherd-requirement
nginx-configuration-log-directory
+ nginx-configuration-log-level
nginx-configuration-run-directory
nginx-configuration-server-blocks
nginx-configuration-upstream-blocks
@@ -562,6 +567,9 @@
(default '())) ;list of symbols
(log-directory nginx-configuration-log-directory ;string
(default "/var/log/nginx"))
+ (log-level nginx-configuration-log-level
+ (sanitize assert-valid-log-level)
+ (default 'error))
(run-directory nginx-configuration-run-directory ;string
(default "/var/run/nginx"))
(server-blocks nginx-configuration-server-blocks
@@ -584,6 +592,14 @@
(file nginx-configuration-file ;#f | string | file-like
(default #f)))
+(define (assert-valid-log-level level)
+ "Ensure @var{level} is one of @code{'debug}, @code{'info}, @code{'notice},
+@code{'warn}, @code{'error}, @code{'crit}, @code{'alert}, or @code{'emerg}."
+ (unless (memq level '(debug info notice warn error crit alert emerg))
+ (raise
+ (formatted-message (G_ "unknown log level '~a'~%") level)))
+ level)
+
(define (config-domain-strings names)
"Return a string denoting the nginx config representation of NAMES, a list
of domain names."
@@ -692,6 +708,7 @@ of index files."
(match-record config
<nginx-configuration>
(nginx log-directory run-directory
+ log-level
server-blocks upstream-blocks
server-names-hash-bucket-size
server-names-hash-bucket-max-size
@@ -704,7 +721,7 @@ of index files."
(flatten
"user nginx nginx;\n"
"pid " run-directory "/pid;\n"
- "error_log " log-directory "/error.log info;\n"
+ "error_log " log-directory "/error.log " (symbol->string log-level)
";\n"
(map emit-load-module modules)
(map emit-global-directive global-directives)
"http {\n"
- 195/244: gnu: garcon: Update to 4.18.1., (continued)
- 195/244: gnu: garcon: Update to 4.18.1., guix-commits, 2023/04/12
- 157/244: gnu: seer-gdb: Update to 1.16., guix-commits, 2023/04/12
- 227/244: gnu: ijs: Fix cross-building to riscv64-linux., guix-commits, 2023/04/12
- 213/244: gnu: haproxy: Update to 2.7.6., guix-commits, 2023/04/12
- 188/244: gnu: fcitx5-gtk: Update to 5.0.23., guix-commits, 2023/04/12
- 203/244: gnu: xfburn: Update to 0.7.0., guix-commits, 2023/04/12
- 165/244: gnu: pyzo: Update to 4.12.8., guix-commits, 2023/04/12
- 238/244: gnu: heimdal: Apply patch to fix CVE-2022-45142., guix-commits, 2023/04/12
- 237/244: gnu: heimdal: Update to 7.8.0 [fixes CVE-2022-44640]., guix-commits, 2023/04/12
- 244/244: gnu: ruby-rubyzip: Re-instate all tests., guix-commits, 2023/04/12
- 241/244: services: nginx: Make logging level configurable.,
guix-commits <=
- 228/244: gnu: qpdf: Fix cross-building., guix-commits, 2023/04/12
- 234/244: gnu: opendht: Update to 2.5.2., guix-commits, 2023/04/12
- 173/244: gnu: Add emacs-flymake-popon., guix-commits, 2023/04/12
- 196/244: gnu: xfce4-panel: Update to 4.18.3., guix-commits, 2023/04/12
- 186/244: gnu: fcitx5: Update to 5.0.23., guix-commits, 2023/04/12
- 221/244: gnu: s6-rc: Update to 0.5.4.1., guix-commits, 2023/04/12
- 183/244: gnu: gerbil: Use G-expressions., guix-commits, 2023/04/12
- 187/244: gnu: libime: Update to 1.0.17., guix-commits, 2023/04/12
- 239/244: gnu: heimdal: Enable OpenLDAP support., guix-commits, 2023/04/12
- 240/244: gnu: Add phd2., guix-commits, 2023/04/12