[pgrouting-dev] New logger for C/C++ for pgrouting

Stephen Woodbridge woodbri at swoodbridge.com
Sun May 4 11:06:48 PDT 2014


Hi Devs,

I have created a new very simple header file at:

pgrouting/src/common/src/pgr_logger.h

The goal for this is to provide a consistent way for adding debug 
messages to the C/C++ that get directed to a log file. There is a define 
that can be used to globally disable the logging on a per file basis.

I looked at a lot of other loggers for C/C++ but this seems to be good 
for our modest needs and it is easy to disable when we are ready to 
deploy it.

Let me know you thoughts and please use it for the C++ code. You can 
also use this for the C code, but most of the C code already is using 
postgresql elog() function to send NOTICE statements back to the client.

Thanks,
   -Steve

READ the header file it has documentation in it.

     USAGE:

     #define LOGGERR_ON
     #undef LOGGER_ON  // turn off logging for production

     // override the default log file "/tmp/pgr_logger.log"
     #define LOGGER_FILE "mylogger.log"

     #undef LOGGER_LOC  // dont log filename and line number
     #define LOGGER_LOC  // log filename and line number with log message

     // include the logger macros and configure based on defines above
     #include pgr_logger.h

     // log a message to the log file
     LOG(format, args)
     LOG("%s at %d\n", "this is a message", time())

     This will log something like:

     myfile:123: this is a message at 1399216875



More information about the pgrouting-dev mailing list