services: cuirass: Add web SQL queries logging support.
authorMathieu Othacehe <othacehe@gnu.org>
Thu, 24 Sep 2020 09:28:14 +0000 (11:28 +0200)
committerMathieu Othacehe <othacehe@gnu.org>
Thu, 24 Sep 2020 09:28:59 +0000 (11:28 +0200)
* gnu/services/cuirass.scm (<cuirass-configuration>)[web-queries-log-file]:
New field.
(cuirass-shepherd-service): Honor it.
(cuirass-log-rotations): If defined, add the web queries log file to the log
rotation.

doc/guix.texi
gnu/services/cuirass.scm

index 5768452..6b2c749 100644 (file)
@@ -23908,6 +23908,10 @@ Location of the log file used by the web interface.
 Location of the SQL queries log file. By default, SQL queries logging is
 disabled.
 
+@item @code{web-queries-log-file} (default: @code{#f})
+Location of the web SQL queries log file. By default, web SQL queries
+logging is disabled.
+
 @item @code{cache-directory} (default: @code{"/var/cache/cuirass"})
 Location of the repository cache.
 
index 44f40a6..adf79af 100644 (file)
@@ -56,6 +56,9 @@
                     (default "/var/log/cuirass-web.log"))
   (queries-log-file cuirass-configuration-queries-log-file ;string
                     (default #f))
+  (web-queries-log-file
+                    cuirass-configuration-web-queries-log-file ;string
+                    (default #f))
   (cache-directory  cuirass-configuration-cache-directory ;string (dir-name)
                     (default "/var/cache/cuirass"))
   (ttl              cuirass-configuration-ttl     ;integer
@@ -90,6 +93,8 @@
         (web-log-file     (cuirass-configuration-web-log-file config))
         (log-file         (cuirass-configuration-log-file config))
         (queries-log-file (cuirass-configuration-queries-log-file config))
+        (web-queries-log-file
+                          (cuirass-configuration-web-queries-log-file config))
         (user             (cuirass-configuration-user config))
         (group            (cuirass-configuration-group config))
         (interval         (cuirass-configuration-interval config))
                            "--port" #$(number->string port)
                            "--listen" #$host
                            "--interval" #$(number->string interval)
-                           #$@(if queries-log-file
+                           #$@(if web-queries-log-file
                                   (list (string-append "--log-queries="
-                                                       queries-log-file))
+                                                       web-queries-log-file))
                                   '())
                            #$@(if use-substitutes? '("--use-substitutes") '())
                            #$@(if fallback? '("--fallback") '())
 
 (define (cuirass-log-rotations config)
   "Return the list of log rotations that corresponds to CONFIG."
-  (let ((queries-log-file (cuirass-configuration-queries-log-file config)))
+  (let ((queries-log-file (cuirass-configuration-queries-log-file config))
+        (web-queries-log-file
+         (cuirass-configuration-web-queries-log-file config)))
     (list (log-rotation
            (files `(,(cuirass-configuration-log-file config)
                     ,@(if queries-log-file
                           (list queries-log-file)
+                          '())
+                    ,@(if web-queries-log-file
+                          (list web-queries-log-file)
                           '())))
            (frequency 'weekly)
            (options '("rotate 40"))))))              ;worth keeping