From: Roel Janssen <roel@gnu.org>
To: Zelphir Kaltstahl <zelphirkaltstahl@posteo.de>, guile-user@gnu.org
Subject: Re: Logging in Guile
Date: Mon, 13 Jan 2020 22:42:08 +0100 [thread overview]
Message-ID: <f62496414333c95060c42314862f873432e5b7e3.camel@gnu.org> (raw)
In-Reply-To: <3d636a08-f49d-c06f-2436-1838d3a652f2@posteo.de>
On Mon, 2020-01-13 at 19:06 +0100, Zelphir Kaltstahl wrote:
> Hi Guile Users!
>
> Is there any library for logging in Guile?
>
> What I imagine is something, where I can log messages of various levels,
> like debug, info, error and such. Currently I am using display and
> simple-format for all the things, but it would be nice to be able to run
> a program and give it some log level, so that only the log messages of
> that level or above in importance are shown. Then I could leave all my
> logging in my code and set it to debug level or, if intended to be seen
> for the user, set it to info level, or if there really is an error, I
> could set it to error level.
>
> On a quick search I could not find anything.
>
> Regards,
> Zelphir
I'm using a rather simple module that distinguishes errors from warnings and
debug:
https://github.com/UMCUGenetics/sparqling-genomics/blob/master/web/logger.scm
You could implement your own log levels easily..
So you can use it like this:
(log-error "the-calling-function" "A ~a ~a ~a" "format" "like" "format")
(log-debug "the-calling-function" "Similar to ~a" 'log-error)
(log-warning "the-calling-function" "Similar to ~a" 'log-debug)
Then there are three functions that return a port to write to:
(default-error-port) (default-warning-port) (default-debug-port)
When (null? port) => #t, no message is written.
See:
https://github.com/UMCUGenetics/sparqling-genomics/blob/dc5fea515c30aa26ff60b77911438689473d125b/web/ldap/authenticate.scm.in#L148
Kind regards,
Roel Janssen
next prev parent reply other threads:[~2020-01-13 21:42 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-13 18:06 Logging in Guile Zelphir Kaltstahl
2020-01-13 18:17 ` Alex Sassmannshausen
2020-01-14 23:07 ` Zelphir Kaltstahl
2020-01-13 18:47 ` John Cowan
2020-01-14 23:51 ` Zelphir Kaltstahl
2020-01-13 21:42 ` Roel Janssen [this message]
2020-01-14 23:53 ` Zelphir Kaltstahl
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://www.gnu.org/software/guile/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f62496414333c95060c42314862f873432e5b7e3.camel@gnu.org \
--to=roel@gnu.org \
--cc=guile-user@gnu.org \
--cc=zelphirkaltstahl@posteo.de \
/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).