An example of everything brought together is reusing the Python logging module directly from C. We want a few macros, such as
debug that can all handle a variable number of arguments and works as if we are calling a simple
To achieve this, we must make a Python logging backend for our C/C++ code. We need an initialization function to tell Python about our output
logfile, and some wrappers for each
debug. We can simply write the public
cdef wrappers as:
import logging cdef public void initLoggingWithLogFile(const char * logfile): logging.basicConfig(filename = logfile, level = logging.DEBUG, format = '%(levelname)s %(asctime)s: %(message)s', datefmt = '%m/%d/%Y %I:%M:%S') ...