aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathieu Othacehe <othacehe@gnu.org>2020-09-24 10:47:22 +0200
committerMathieu Othacehe <othacehe@gnu.org>2020-09-24 10:47:22 +0200
commit92e507c963470c6086a59ca8e1dd58ed4403649c (patch)
tree95fc051f0d066bcc78189dc2462e0bece0557e36
parente503211105dcea18e9c13aaf49398ce42c7a7347 (diff)
downloadguix-92e507c963470c6086a59ca8e1dd58ed4403649c.tar
guix-92e507c963470c6086a59ca8e1dd58ed4403649c.tar.gz
services: cuirass: Add SQL queries logging support.
* gnu/services/cuirass.scm (<cuirass-configuration>)[queries-log-file]: New field. (cuirass-shepherd-service): Honor it. (cuirass-log-rotations): If defined, add the queries log file to the log rotation.
-rw-r--r--doc/guix.texi4
-rw-r--r--gnu/services/cuirass.scm23
2 files changed, 23 insertions, 4 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 949551a163..576845233a 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -23904,6 +23904,10 @@ Location of the log file.
@item @code{web-log-file} (default: @code{"/var/log/cuirass-web.log"})
Location of the log file used by the web interface.
+@item @code{queries-log-file} (default: @code{#f})
+Location of the SQL queries log file. By default, SQL queries logging is
+disabled.
+
@item @code{cache-directory} (default: @code{"/var/cache/cuirass"})
Location of the repository cache.
diff --git a/gnu/services/cuirass.scm b/gnu/services/cuirass.scm
index 0f4f0f9948..44f40a632c 100644
--- a/gnu/services/cuirass.scm
+++ b/gnu/services/cuirass.scm
@@ -54,6 +54,8 @@
(default "/var/log/cuirass.log"))
(web-log-file cuirass-configuration-web-log-file ;string
(default "/var/log/cuirass-web.log"))
+ (queries-log-file cuirass-configuration-queries-log-file ;string
+ (default #f))
(cache-directory cuirass-configuration-cache-directory ;string (dir-name)
(default "/var/cache/cuirass"))
(ttl cuirass-configuration-ttl ;integer
@@ -87,6 +89,7 @@
(cache-directory (cuirass-configuration-cache-directory config))
(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))
(user (cuirass-configuration-user config))
(group (cuirass-configuration-group config))
(interval (cuirass-configuration-interval config))
@@ -111,6 +114,10 @@
"--database" #$database
"--ttl" #$(string-append (number->string ttl) "s")
"--interval" #$(number->string interval)
+ #$@(if queries-log-file
+ (list (string-append "--log-queries="
+ queries-log-file))
+ '())
#$@(if use-substitutes? '("--use-substitutes") '())
#$@(if one-shot? '("--one-shot") '())
#$@(if fallback? '("--fallback") '())
@@ -140,6 +147,10 @@
"--port" #$(number->string port)
"--listen" #$host
"--interval" #$(number->string interval)
+ #$@(if queries-log-file
+ (list (string-append "--log-queries="
+ queries-log-file))
+ '())
#$@(if use-substitutes? '("--use-substitutes") '())
#$@(if fallback? '("--fallback") '())
#$@extra-options)
@@ -187,10 +198,14 @@
(define (cuirass-log-rotations config)
"Return the list of log rotations that corresponds to CONFIG."
- (list (log-rotation
- (files (list (cuirass-configuration-log-file config)))
- (frequency 'weekly)
- (options '("rotate 40"))))) ;worth keeping
+ (let ((queries-log-file (cuirass-configuration-queries-log-file config)))
+ (list (log-rotation
+ (files `(,(cuirass-configuration-log-file config)
+ ,@(if queries-log-file
+ (list queries-log-file)
+ '())))
+ (frequency 'weekly)
+ (options '("rotate 40")))))) ;worth keeping
(define cuirass-service-type
(service-type