Hi Tom, Alex, and Josh,
We’ve started looking into logging for our modems as well. Currently we
use the python logging module for logging on the python side. We have
started to include the log4cplus library for logging in our blocks. We
are starting with each block having its own logger, but plan to
eventually move to one logger in a static class.
It wasn’t clear what advantages boost.log had over log4cplus. We
started with log4cplus since it has the same log4j roots as the python
logging module. So we could have similar configuration files and
paradigms in C++ as we are using in Python. Any thoughts on which
library would be a better starting point?
Regardless of which library gets used, I would advocate using one of the
already available libraries in some kind of thin GR wrapper.
Its important to our modems that we be able to remove the logging
entirely for performance. Which we can do with log4cplus. Can we do
that with boost.log as well?
Our logging wish list would look something like this:
- The usual logging features, rolling files, level filtering, various
output streams, file, socket, stdout etc…
- One module for logging in python and C++
- One module for logging across separate blocks
- Logging easily disabled from the build so we can easily control the
trade-off between performance and debug.
Our current plan is to roll our own logging with the log4cplus library.
Is anyone signing up to take on logging for gnuradio? Does anyone has a
clear argument for or against log4cplus vs boost.log?