caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [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;
as well as URLs for NNTP newsgroup(s).