Date: prev next · Thread: first prev next last
2010 Archives by date, by thread · List index


On Thu, Oct 14, 2010 at 09:11:26AM +0100, Caolán McNamara wrote:
On Wed, 2010-10-13 at 22:34 +0200, Jacek Wolszczak wrote:
http://wiki.services.openoffice.org/wiki/Debug_Levels. 

Some additional questions. What should I replace DBG_ERROR with?

Hmm, DBG_ERROR takes no condition, and just a message, I suggest that 
DBG_ERROR("horrible failure");
can become
OSL_ENSURE(false, "horrible failure");

Yeah, that's the path I've taken in the past. Additionally, I suggest to
turn both DBG_WARNING and DBG_TRACE (not that I remember ever seeing
either of them :) into OSL_TRACE.


Should RTL_LOGFILE_CONTEXT_AUTHOR as in http://bit.ly/buiBlA be updated
somehow as it contains a lot of hardcoded e-mail addresses?

*shrug*, nah, leave 'em alone I suggest.


Given the description of rtl::Logfile:

"The intended use for class Logfile is to write time stamp information
for profiling purposes. 

Profiling output should only be generated for a special product version of OpenOffice
which is compiled with a defined preprocessor symbol 'TIMELOG'.  
Therefore we have provided a set of macros that uses the class Logfile only if
this symbol is defined.  If the macros are not sufficient, i.e. you need more
then three arguments for a printf style message, then you have to insert an
#ifdef TIMELOG/#endif brace yourself.

Additionally the environment variable RTL_LOGFILE has to be defined in order to generate
logging information. If the variable is not empty, it creates a file with the name
$(RTL_LOGFILE)_$(PID).log, where $(PID) is the process id of the running process.
It can be used as a run time switch for enabling or disabling the logging.
Note that this variable is evaluated only once at the first attempt to write a message.

The class LogFile collects runtime data within its constructor and destructor. It can be
used for timing whole functions. 
If you want to write timing data without context you can use the RTL_LOGFILE_TRACE-macros
which are defined inside <rtl/logfile.h>.

The class LogFile should not be used directly, instead use the RTL_LOGFILE_CONTEXT/
RTL_LOGFILE_TRACE-macros."

, I suggest to scrap them entirely. There are far better ways to profile
code, like gprof or callgrind (esp. combined with kcachegrind).


OT: This comment

// POLICY: Don't use RTL_LOGFILE_PRODUCT_* for your personal logging information.
//         Be aware that these logs make it into the product shipped to customers.
//         If you have good reasons for doing this, please contact product management.

really amused me :)

D.

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.