* [Caml-list] [ANN] Logs 0.4.2
@ 2015-12-03 19:41 Daniel Bünzli
2015-12-04 17:03 ` Malcolm Matalka
0 siblings, 1 reply; 7+ messages in thread
From: Daniel Bünzli @ 2015-12-03 19:41 UTC (permalink / raw)
To: OCaml List, mirageos-devel; +Cc: Jeremy Yallop, Drup
Hello,
I'd like to announce the first release of Logs. Here's the blurb:
Logs provides a logging infrastructure for OCaml. Logging is performed
on sources whose reporting level can be set independently. Log message
report is decoupled from logging and is handled by a reporter.
A few optional log reporters are distributed with the base library and
the API easily allows to implement your own.
Logs depends only on the `result` compatibility package. The optional
`Logs_stdo` reporter on standard outputs depends on Fmt. The optional
`Logs_browser` reporter that reports to the web browser console depends
on js_of_ocaml. The optional `Logs_cli` library that provides command line
support for controlling Logs depends on `Cmdliner`.
Logs and its reporters are distributed under the BSD3 license.
Feedback on the API is welcome, it could still change a bit before stabilizing on a 1.0.0 release.
Homepage: http://erratique.ch/software/logs
API docs: http://erratique.ch/software/logs/doc
The continuation based formatting trick used by Logs for minimizing non-logging overhead is based on Jeremy Yallop's findings; Gabriel Radanne helped to make further tests. Thanks to them and see [1] for the full discussion.
Best,
Daniel
[1] https://github.com/mirage/ocaml-git/pull/130#issue-111278246
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Caml-list] [ANN] Logs 0.4.2
2015-12-03 19:41 [Caml-list] [ANN] Logs 0.4.2 Daniel Bünzli
@ 2015-12-04 17:03 ` Malcolm Matalka
2015-12-04 17:17 ` Daniel Bünzli
0 siblings, 1 reply; 7+ messages in thread
From: Malcolm Matalka @ 2015-12-04 17:03 UTC (permalink / raw)
To: Daniel Bünzli; +Cc: OCaml List, mirageos-devel, Jeremy Yallop, Drup
Daniel Bünzli <daniel.buenzli@erratique.ch> writes:
> Hello,
>
> I'd like to announce the first release of Logs. Here's the blurb:
>
> Logs provides a logging infrastructure for OCaml. Logging is performed
> on sources whose reporting level can be set independently. Log message
> report is decoupled from logging and is handled by a reporter.
>
> A few optional log reporters are distributed with the base library and
> the API easily allows to implement your own.
>
> Logs depends only on the `result` compatibility package. The optional
> `Logs_stdo` reporter on standard outputs depends on Fmt. The optional
> `Logs_browser` reporter that reports to the web browser console depends
> on js_of_ocaml. The optional `Logs_cli` library that provides command line
> support for controlling Logs depends on `Cmdliner`.
>
> Logs and its reporters are distributed under the BSD3 license.
>
> Feedback on the API is welcome, it could still change a bit before stabilizing on a 1.0.0 release.
>
> Homepage: http://erratique.ch/software/logs
> API docs: http://erratique.ch/software/logs/doc
>
> The continuation based formatting trick used by Logs for minimizing non-logging overhead is based on Jeremy Yallop's findings; Gabriel
> Radanne helped to make further tests. Thanks to them and see [1] for the full discussion.
>
> Best,
>
> Daniel
>
> [1] https://github.com/mirage/ocaml-git/pull/130#issue-111278246
I poked around the documentation a bit but I wasn't quite clear on if
Logs provides a synchronous or asynchronous API.
<rant>
I've found that in most logging frameworks, people prefer asynchronous
semantics because it's fast (just toss it in a queue and then do the
rest of your program). IME, on production services, logging needs to be
synchronous. That is, the log call should not return until the logging
endpoint has processed it, whatever that may be. This is because, when
things go south, all one has is logs and maybe a core dump if they are
lucky so any behaviour that lets the program get beyond what it has
logged is providing an incomplete picture. On top of that, when logging
a lot one will run out of space if it is purely async.
</rant>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Caml-list] [ANN] Logs 0.4.2
2015-12-04 17:03 ` Malcolm Matalka
@ 2015-12-04 17:17 ` Daniel Bünzli
2015-12-04 17:23 ` Daniel Bünzli
0 siblings, 1 reply; 7+ messages in thread
From: Daniel Bünzli @ 2015-12-04 17:17 UTC (permalink / raw)
To: Malcolm Matalka
Cc: OCaml List, mirageos-devel\@lists.xenproject.org, Jeremy Yallop, Drup
Le vendredi, 4 décembre 2015 à 17:03, Malcolm Matalka a écrit :
> I poked around the documentation a bit but I wasn't quite clear on if
> Logs provides a synchronous or asynchronous API.
That's up to the reporter you install to decide.
Best,
Daniel
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Caml-list] [ANN] Logs 0.4.2
2015-12-04 17:17 ` Daniel Bünzli
@ 2015-12-04 17:23 ` Daniel Bünzli
2015-12-04 18:16 ` Malcolm Matalka
0 siblings, 1 reply; 7+ messages in thread
From: Daniel Bünzli @ 2015-12-04 17:23 UTC (permalink / raw)
To: Malcolm Matalka
Cc: OCaml List, mirageos-devel\@lists.xenproject.org, Jeremy Yallop, Drup
Le vendredi, 4 décembre 2015 à 17:17, Daniel Bünzli a écrit :
> That's up to the reporter you install to decide.
More precisely, as you can see here [1] it is in charge of invoking the continuation.
Daniel
[1] http://erratique.ch/software/logs/doc/Logs.html#TYPEreporter
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Caml-list] [ANN] Logs 0.4.2
2015-12-04 17:23 ` Daniel Bünzli
@ 2015-12-04 18:16 ` Malcolm Matalka
2015-12-04 18:30 ` Daniel Bünzli
0 siblings, 1 reply; 7+ messages in thread
From: Malcolm Matalka @ 2015-12-04 18:16 UTC (permalink / raw)
To: Daniel Bünzli; +Cc: OCaml List, mirageos-devel, Jeremy Yallop, Drup
Daniel Bünzli <daniel.buenzli@erratique.ch> writes:
> Le vendredi, 4 décembre 2015 à 17:17, Daniel Bünzli a écrit :
>> That's up to the reporter you install to decide.
>
> More precisely, as you can see here [1] it is in charge of invoking the continuation.
>
> Daniel
>
> [1] http://erratique.ch/software/logs/doc/Logs.html#TYPEreporter
That seems quite nice, thanks.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Caml-list] [ANN] Logs 0.4.2
2015-12-04 18:16 ` Malcolm Matalka
@ 2015-12-04 18:30 ` Daniel Bünzli
2016-01-07 22:26 ` Daniel Bünzli
0 siblings, 1 reply; 7+ messages in thread
From: Daniel Bünzli @ 2015-12-04 18:30 UTC (permalink / raw)
To: Malcolm Matalka
Cc: OCaml List, mirageos-devel\@lists.xenproject.org, Jeremy Yallop, Drup
Le vendredi, 4 décembre 2015 à 18:16, Malcolm Matalka a écrit :
> Daniel Bünzli <daniel.buenzli@erratique.ch (mailto:daniel.buenzli@erratique.ch)> writes:
>
> > Le vendredi, 4 décembre 2015 à 17:17, Daniel Bünzli a écrit :
> > > That's up to the reporter you install to decide.
> >
> >
> >
> > More precisely, as you can see here [1] it is in charge of invoking the continuation.
> >
> > Daniel
> >
> > [1] http://erratique.ch/software/logs/doc/Logs.html#TYPEreporter
> That seems quite nice, thanks.
But it should be added that it may be problematic if you want the synchronous semantics and you are using lwt.
See https://github.com/dbuenzli/logs/issues/5
Best,
Daniel
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Caml-list] [ANN] Logs 0.4.2
2015-12-04 18:30 ` Daniel Bünzli
@ 2016-01-07 22:26 ` Daniel Bünzli
0 siblings, 0 replies; 7+ messages in thread
From: Daniel Bünzli @ 2016-01-07 22:26 UTC (permalink / raw)
To: Malcolm Matalka
Cc: OCaml List, mirageos-devel\@lists.xenproject.org, Jeremy Yallop, Drup
Le vendredi, 4 décembre 2015 à 19:30, Daniel Bünzli a écrit :
> But it should be added that it may be problematic if you want the synchronous semantics and you are using lwt.
>
The recently released Logs 0.5.0 can now support this scenario. I also added a note in the documentation to try to clarify these issues:
http://erratique.ch/software/logs/doc/Logs.html#sync
Best,
Daniel
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2016-01-07 22:26 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-12-03 19:41 [Caml-list] [ANN] Logs 0.4.2 Daniel Bünzli
2015-12-04 17:03 ` Malcolm Matalka
2015-12-04 17:17 ` Daniel Bünzli
2015-12-04 17:23 ` Daniel Bünzli
2015-12-04 18:16 ` Malcolm Matalka
2015-12-04 18:30 ` Daniel Bünzli
2016-01-07 22:26 ` Daniel Bünzli
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox