summaryrefslogtreecommitdiff
path: root/modules/modpy
diff options
context:
space:
mode:
Diffstat (limited to 'modules/modpy')
-rw-r--r--modules/modpy/Makefile.am4
-rw-r--r--modules/modpy/interface.cpp23
-rw-r--r--modules/modpy/py.cpp32
-rw-r--r--modules/modpy/py.h2
4 files changed, 26 insertions, 35 deletions
diff --git a/modules/modpy/Makefile.am b/modules/modpy/Makefile.am
index eccb2a2..231031a 100644
--- a/modules/modpy/Makefile.am
+++ b/modules/modpy/Makefile.am
@@ -10,8 +10,8 @@ mod_py_la_SOURCES = \
py.h py.cpp \
interface.h interface.cpp
-AM_CPPFLAGS = -I$(top_srcdir)/lib -I$(top_srcdir)/src \
- ${PYTHON_INCLUDES} ${libconfig_CFLAGS} ${log4cpp_CFLAGS}
+AM_CPPFLAGS = -std=c++11 -I$(top_srcdir)/lib -I$(top_srcdir)/src \
+ ${PYTHON_INCLUDES} ${libconfig_CFLAGS}
mod_py_la_LIBADD = ${PYTHON_LIBS}
endif
diff --git a/modules/modpy/interface.cpp b/modules/modpy/interface.cpp
index 948fa5c..60e1c7b 100644
--- a/modules/modpy/interface.cpp
+++ b/modules/modpy/interface.cpp
@@ -19,10 +19,11 @@
#include "interface.h"
-#include <bitz/logger.h>
#include <icap/request.h>
#include <icap/response.h>
-#include <iostream>
+#include <spdlog/spdlog.h>
+
+static auto _logger = spdlog::get( "bitz-server" );
PyObject * bitz_get_request( PyObject * self, PyObject * pyrequest ) {
@@ -31,9 +32,7 @@ PyObject * bitz_get_request( PyObject * self, PyObject * pyrequest ) {
PyObject * pypayload;
icap::Request * request;
- // logger
- bitz::Logger &logger = bitz::Logger::instance();
- logger.debug( "[modpy.interface] get_request()" );
+ _logger->debug( "[modpy.interface] get_request()" );
// initialise return dictionary
pyreturn = PyDict_New();
@@ -65,7 +64,7 @@ PyObject * bitz_get_request( PyObject * self, PyObject * pyrequest ) {
Py_DECREF( pypayload );
} else {
- logger.warn( "[modpy.interface] failed to get request object pointer" );
+ _logger->warn( "[modpy.interface] failed to get request object pointer" );
}
return pyreturn;
@@ -80,15 +79,13 @@ PyObject * bitz_get_response_from_status( PyObject * self, PyObject * args ) {
unsigned int resp_status;
- // logger
- bitz::Logger &logger = bitz::Logger::instance();
- logger.debug( "[modpy.interface] get_response_from_status()" );
+ _logger->debug( "[modpy.interface] get_response_from_status()" );
// parse args
if ( PyArg_ParseTuple( args, "I", &resp_status ) ) {
response = new icap::Response( (icap::ResponseHeader::status_t) resp_status );
} else {
- logger.warn( "[modpy.interface] failed to parse arguments" );
+ _logger->warn( "[modpy.interface] failed to parse arguments" );
response = new icap::Response( icap::ResponseHeader::SERVER_ERROR );
}
@@ -114,9 +111,7 @@ PyObject * bitz_get_response( PyObject * self, PyObject * args ) {
Py_ssize_t pybuflen;
- // logger
- bitz::Logger &logger = bitz::Logger::instance();
- logger.debug( "[modpy.interface] get_response()" );
+ _logger->debug( "[modpy.interface] get_response()" );
// parse args
if ( PyArg_ParseTuple( args, "IO!", &resp_status, &PyDict_Type, &pypayload ) ) {
@@ -142,7 +137,7 @@ PyObject * bitz_get_response( PyObject * self, PyObject * args ) {
response->payload( payload );
} else {
- logger.warn( "[modpy.interface] failed to parse arguments" );
+ _logger->warn( "[modpy.interface] failed to parse arguments" );
}
// sanity check
diff --git a/modules/modpy/py.cpp b/modules/modpy/py.cpp
index 51cb38f..a1d330d 100644
--- a/modules/modpy/py.cpp
+++ b/modules/modpy/py.cpp
@@ -21,7 +21,6 @@
#include "interface.h"
#include <bitz/config.h>
-#include <bitz/logger.h>
namespace bitz {
@@ -35,6 +34,9 @@ namespace bitz {
_config.module_name = "modpy";
_config.module_path = "";
+ // logger
+ _logger = spdlog::get( "bitz-server" );
+
// load configs
load_configs();
@@ -92,21 +94,19 @@ namespace bitz {
PyObject * pymethod;
PyObject * pyreturn;
- // logger
- Logger &logger = Logger::instance();
// python core
Py_Initialize();
// bitz python module
if ( Py_InitModule( "bitz", bitz_methods ) == NULL ) {
- logger.warn( "[modpy] failed to init C interface module: bitz" );
+ _logger->warn( "[modpy] failed to init C interface module: bitz" );
}
// setup python environment
if ( _config.module_path != "" ) {
- logger.debug( std::string( "[modpy] appending to sys.path, module_path: " ).append( _config.module_path ) );
+ _logger->debug( std::string( "[modpy] appending to sys.path, module_path: " ).append( _config.module_path ) );
sys_path = PySys_GetObject( (char *) "path" );
pymodule_path = PyString_FromString( _config.module_path.c_str() );
@@ -115,14 +115,14 @@ namespace bitz {
}
// load the interface module
- logger.debug( std::string( "[modpy] interface module: " ).append( _config.module_name ) );
+ _logger->debug( std::string( "[modpy] interface module: " ).append( _config.module_name ) );
pymodule_name = PyString_FromString( _config.module_name.c_str() );
_pymodule = PyImport_Import( pymodule_name );
if ( _pymodule != NULL ) {
- logger.debug( "[modpy] interface module loaded successfully" );
+ _logger->debug( "[modpy] interface module loaded successfully" );
// call init() in the interface module
pymethod = PyObject_GetAttrString( _pymodule, "init" );
@@ -131,13 +131,13 @@ namespace bitz {
pyreturn = PyObject_CallObject( pymethod, NULL );
Py_DECREF( pyreturn );
} else {
- logger.warn ( "[modpy] failed to call init() in interface module" );
+ _logger->warn ( "[modpy] failed to call init() in interface module" );
}
Py_DECREF( pymethod );
} else {
- logger.warn( "[modpy] failed to load interface module" );
+ _logger->warn( "[modpy] failed to load interface module" );
}
@@ -154,9 +154,6 @@ namespace bitz {
PyObject * pymethod;
PyObject * pyreturn;
- // logger
- Logger &logger = Logger::instance();
-
// cleanup
if ( _pymodule != NULL ) {
@@ -168,7 +165,7 @@ namespace bitz {
pyreturn = PyObject_CallObject( pymethod, NULL );
Py_DECREF( pyreturn );
} else {
- logger.warn ( "[modpy] failed to call cleanup() in interface module" );
+ _logger->warn ( "[modpy] failed to call cleanup() in interface module" );
}
Py_DECREF( pymethod );
@@ -199,9 +196,6 @@ namespace bitz {
PyObject * pyargs;
PyObject * pyrequest, * pyresponse;
- // logger
- Logger &logger = Logger::instance();
-
// initialise the response object
response = NULL;
@@ -231,18 +225,18 @@ namespace bitz {
response = static_cast<icap::Response *>(p);
} else {
- logger.warn( std::string( "[modpy] invalid capsule response, method: " ).append( method ) );
+ _logger->warn( std::string( "[modpy] invalid capsule response, method: " ).append( method ) );
}
Py_DECREF( pyresponse );
} else {
- logger.warn( std::string( "[modpy] response is NULL, method: " ).append( method ) );
+ _logger->warn( std::string( "[modpy] response is NULL, method: " ).append( method ) );
}
} else {
- logger.warn ( std::string( "[modpy] failed to call the method in interface module, method: " ).append( method ) );
+ _logger->warn ( std::string( "[modpy] failed to call the method in interface module, method: " ).append( method ) );
}
// cleanup
diff --git a/modules/modpy/py.h b/modules/modpy/py.h
index 358c36f..f171063 100644
--- a/modules/modpy/py.h
+++ b/modules/modpy/py.h
@@ -23,6 +23,7 @@
#include <Python.h>
#include <bitz/modifier.h>
+#include <spdlog/spdlog.h>
namespace bitz {
@@ -44,6 +45,7 @@ namespace bitz {
private:
config_t _config;
PyObject * _pymodule;
+ std::shared_ptr<spdlog::logger> _logger;
void load_configs() throw();
void init_python() throw();