|
|
|
|
|
|
|
|
|
|
xen-devel
RE: [Xen-devel] [PATCH] tools: ocaml: fix the logging in the ocaml libxl
Hi,
> David Scott writes ("[Xen-devel] [PATCH] tools: ocaml: fix the logging
> in the ocaml libxl bindings"):
> > tools: ocaml: fix the logging in the ocaml libxl bindings.
[ snip ]
Ian Jackson replied:
> Thanks, but:
>
> * Can you make a version where the line lengths do not exceed 75 ?
> That allows for a patch +/- column, plus a couple of levels of
> quoting, to fit in an 80-column window.
Will do. I think I've got into a habit of writing very long lines.
I blame my poor choice in editors and email clients :-)
> * Now that I read this code I'm very confused. Why does log_vmessage
> not actually output the message anywhere ? Looking at the code,
> the buffer is printed out only if the call fails (I assume that's
> what failwith_xl is). That's not right. What about debugging
> output ?
>
> There is no guarantee that the logger will be called to report any
> particular number of messages if a libxl call fails. Specifically,
> it may output zero error messages, or several one, before returning
> a failure code. And it will frequently output a number of
> informational messages.
That is indeed the current behaviour -- most log messages end up dropped,
only those which are in the buffer when the libxl call fails get bubbled
up to the user in an exception. The main difference after my patch is
that the code nolonger segfaults after calling (IIRC) gettopologyinfo
and hopefully won't blow its buffer if the logging ever gets spammy :-)
If you recommend changing the policy to always record/handle all log
messages then that sounds fine to me. From the point of view of the
ocaml code I can think of the following options (Vincent: do you have any
advice?):
1. add the notion of a per-call context to the ocaml and associate
logging callbacks with this. The ocaml code can then do whatever it
likes on a per-call basis.
2. allow the ocaml to set a global logging callback which would handle
logging from all ocaml xl calls in the same process
3. allow the ocaml to set some syslog logging parameters so all ocaml xl
calls would just log via syslog
I don't think any of these are particularly complicated. Anyone have any
thoughts / recommendations / preferences / suggestions?
Cheers,
Dave
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|