From 254ea3f945e8bc44f8c3a4159302f24f4fe5f216 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 8 Jun 2017 20:23:08 +0200 Subject: services: rottlog: Make extensible. * gnu/services/admin.scm (rottlog-service-type)[compose, extend]: New fields. * doc/guix.texi (Log Rotation): Mention extension. --- doc/guix.texi | 3 +++ gnu/services/admin.scm | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index b8675bde2a..ffd2028de9 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -9561,6 +9561,9 @@ with the default settings, for commonly encountered log files. This is the type of the Rottlog service, whose value is a @code{rottlog-configuration} object. +Other services can extend this one with new @code{log-rotation} objects +(see below), thereby augmenting the set of files to be rotated. + This service type can define mcron jobs (@pxref{Scheduled Job Execution}) to run the rottlog service. @end defvr diff --git a/gnu/services/admin.scm b/gnu/services/admin.scm index 99f3b1da16..b9e3fa70a4 100644 --- a/gnu/services/admin.scm +++ b/gnu/services/admin.scm @@ -164,6 +164,12 @@ (define rottlog-service-type ;; the documentation. (service-extension profile-service-type (compose list rottlog-rottlog)))) + (compose concatenate) + (extend (lambda (config rotations) + (rottlog-configuration + (inherit config) + (rotations (append (rottlog-rotations config) + rotations))))) (default-value (rottlog-configuration)))) ;;; admin.scm ends here -- cgit v1.2.3