unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: Fredrik Salomonsson <plattfot@posteo.net>
To: help-guix <help-guix@gnu.org>
Subject: Logging and guix-home
Date: Sat, 13 Nov 2021 01:45:57 +0000	[thread overview]
Message-ID: <87o86oygiy.fsf@posteo.net> (raw)

Hi Guix,

I got a question how to setup logging for daemons that are controlled by
shepherd that guix home creates. First some background info.

I have been slowly migrating my dotfiles from a GNU stow setup to guix
home. I'm currently using guix on a foreign distro that uses systemd.
Where systemd was controlling my user level daemons, e.g. ssh-agent.

But now that I use guix home, I have migrated them to shepherd. With
that I lost the handy logging you get from systemd. To mitigate that for
shepherd I'm right now using the #:log-file parameter, as suggested in
this thread [1], to send the output to a file.

[1] https://lists.gnu.org/archive/html/help-guix/2019-04/msg00178.html

Here's how I've setup the ssh-agent

--8<----------------------------------------------------------------------------
(define-public services
  (list
   (simple-service 'plt-ssh-environment
                   home-environment-variables-service-type
                   `(("SSH_AUTH_SOCK" . "${XDG_RUNTIME_DIR}/ssh-agent.socket")))
   (simple-service 'plt-ssh-agent
                   home-shepherd-service-type
                   `(
                     ,(shepherd-service
                       (provision '(ssh-agent))
                       (documentation "Run and control ssh key agent.")
                       (start #~(make-forkexec-constructor
                                 `("ssh-agent" "-D" "-a"
                                   ,(format #f "~a/ssh-agent.socket" (getenv "XDG_RUNTIME_DIR")))
                                 #:log-file (format #f "~a/ssh-agent.log" (getenv "XDG_LOG_HOME"))))
                       (stop #~(make-kill-destructor)))
                     ))))
---------------------------------------------------------------------------->8--

I do want some better logging, than just dumping to a file, as otherwise
I'll eventual run out of disk space. I have been pretty spoiled with
systemd on that part, and I have very little experience with syslog.
Given that I'm on a foreign distro, I cannot use the syslog-service (as
far as I know). Does anyone have a good idea on how to set this it up?

For example if I setup syslog and put "/dev/log" in the #:log-file
parameter, will it work? 

Or is syslog the wrong thing for user daemon logging? and instead I
should look for something else?

Thanks

-- 
s/Fred[re]+i[ck]+/Fredrik/g


             reply	other threads:[~2021-11-13  1:46 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-13  1:45 Fredrik Salomonsson [this message]
2021-11-14 10:55 ` Logging and guix-home Hartmut Goebel
2021-11-20 21:13   ` Fredrik Salomonsson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87o86oygiy.fsf@posteo.net \
    --to=plattfot@posteo.net \
    --cc=help-guix@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).