about summary refs log tree commit diff
diff options
context:
space:
mode:
authorArun Isaac2024-10-24 17:24:25 +0100
committerArun Isaac2024-10-24 18:23:04 +0100
commit243ad178cbaae9524a0c29672c285999db4e2c8b (patch)
tree3cb1f95eee73f5943b35edea5923f4b515ded0e6
parent38223a084a84fc1415258acdeeb59b63db5a8669 (diff)
downloadgn-machines-243ad178cbaae9524a0c29672c285999db4e2c8b.tar.gz
Add sanitizer for log-level configuration field.
* genenetwork/services/genenetwork.scm: Import (guix diagnostics)
and (guix i18n).
(sanitize-log-level): New function.
(<genenetwork-configuration>)[log-level]: Use sanitize-log-level as
the sanitizer.
(<gn-uploader-configuration>)[log-level]: Use sanitize-log-level as
the sanitizer.
-rw-r--r--genenetwork/services/genenetwork.scm15
1 files changed, 13 insertions, 2 deletions
diff --git a/genenetwork/services/genenetwork.scm b/genenetwork/services/genenetwork.scm
index ef59701..022eeda 100644
--- a/genenetwork/services/genenetwork.scm
+++ b/genenetwork/services/genenetwork.scm
@@ -30,7 +30,9 @@
   #:use-module (gnu system file-systems)
   #:use-module (gnu system shadow)
   #:use-module (guix build python-build-system)
+  #:use-module (guix diagnostics)
   #:use-module (guix gexp)
+  #:use-module (guix i18n)
   #:use-module (guix packages)
   #:use-module (guix profiles)
   #:use-module (guix records)
@@ -104,7 +106,8 @@
   (gn-auth-secrets genenetwork-configuration-gn-auth-secrets
                    (default "/etc/genenetwork"))
   (log-level genenetwork-configuration-log-level
-             (default 'warning)))
+             (default 'warning)
+             (sanitize sanitize-log-level)))
 
 (define-record-type* <gn-uploader-configuration>
   gn-uploader-configuration make-gn-uploader-configuration
@@ -126,7 +129,15 @@
   (gn2-server-url gn-uploader-configuration-gn2-server-url
                   (default "https://genenetwork.org"))
   (log-level gn-uploader-configuration-log-level
-             (default 'warning)))
+             (default 'warning)
+             (sanitize sanitize-log-level)))
+
+(define (sanitize-log-level log-level)
+  (case log-level
+    ((fatal error warning info debug trace) log-level)
+    (else
+     (leave (G_ "Log level ~a is invalid. It must be one of the following symbols---fatal, error, warn, info, debug or trace.~%")
+            log-level))))
 
 (define %genenetwork-accounts
   (list (user-group