Subject: [RFC PATCH 0/1] Add logging capability to Guix

From: Maxim Cournoyer <[email-masked]>
Date: Mon, 5 Feb 2024 23:12:00 -0500

This adds the ability to simply log messages during execution, whose level can
be selected via a new '--log-level' option.

It relies on pending Guile features (SRFI 209 enums) [0] as well as some
modifications to Guile-Lib's logging library so that it can support source
properties [1].  To test, I symlink the 'guile' binary at the root of the
Guix checkout to my ~/src/guile/meta/guile built binary, and I build Guix with
'make GUILE=./guile', in an environment containing the modified guile-lib:

guix shell --pure -D guix --with-source=guile-lib=/home/maxim/src/guile-lib

Here's some dummy output just to show what the default format looks like:

2024-02-06 03:38:44 guix/derivations.scm:272:16: DEBUG: adding input #<<derivation-input> drv: #<derivation /gnu/store/2ll0ig7jn3w7rqsyfjl358r2q9lga15a-gcc-core-4.6.4.tar.gz.drv => /gnu/store/8fsrfzp53azpsb5n3rbh24n1bcrimzpj-gcc-core-4.6.4.tar.gz 7f60e5ea7af0> sub-derivations: ("out")> to list
2024-02-06 03:38:44 guix/derivations.scm:272:16: DEBUG: adding input #<<derivation-input> drv: #<derivation /gnu/store/5hmjcad7k2z2d8rc38p2jcsh88dvpqr6-gcc-g++-4.6.4.tar.gz.drv => /gnu/store/qbj186qvw9312ki8qqmxc5hx6izwp1km-gcc-g++-4.6.4.tar.gz 7f60e5ea7a00> sub-derivations: ("out")> to list

[0]  https://lists.gnu.org/archive/html/guile-devel/2023-12/msg00087.html
[1]  https://lists.gnu.org/archive/html/guile-devel/2024-02/msg00000.html

Maxim Cournoyer (1):
  guix: Add logging module.

 Makefile.am      |  5 ++-
 configure.ac     |  6 +--
 guix/logging.scm | 98 ++++++++++++++++++++++++++++++++++++++++++++++++
 guix/ui.scm      | 17 ++++++++-
 4 files changed, 120 insertions(+), 6 deletions(-)
 create mode 100644 guix/logging.scm

base-commit: c76004c574acc3291e8d2526fe534719473a87ff
-- 
2.41.0