On 08/07/2012 01:28 PM, Michael Meeks wrote:
On Tue, 2012-08-07 at 09:23 +0200, Stephan Bergmann wrote:
   Use SAL_INFO/SAL_WARN for permanent warning code (see
<http://wiki.documentfoundation.org/Development#Assertions_and_Logging>), and
use SAL_DEBUG for temporary debug output (that the LO git commit hooks
will prevent from accidentally becoming permanent).

        I always use fprintf and never these other things. I can never remember
how to make SAL_WARN / SAL_INFO / SAL_DEBUG to actually output something
and grok their prefix behaviour etc.; on the occasions I've tried adding
one of those I inevitably have to do 2x compilation loops before giving
up and using fprintf - IIRC you have to use some different compile
flags, and/or set some also-difficult-to-remember environment variable
to some value - right ?

No, not for SAL_DEBUG. (SAL_WARN requires an --enable-dbgutil build, but which developer doesn't do that, anyway? SAL_INFO requires SAL_LOG=+WARN+INFO, but that's on purpose, to keep the default amount of output manageable.)

        fprintf (stderr,"foo\n");

        goes directly, atomically to your terminal pausing the app until it's
out and it -just-works- (TM) ;-)

As does SAL_DEBUG (modulo the "pausing the app," which fprintf doesn't do either, at least not in a multithreaded process), with the added benefit that it is way simpler to output an OUString s with:

fprintf(stderr, "%s", OUStringToOString(s, RTL_TEXTENCODING_UTF8).getStr());

vs. just

  SAL_DEBUG(s);

Stephan
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to