static PyObject*
ceph_log(BaseMgrModule *self, PyObject *args)
{
- int level = 0;
char *record = nullptr;
- if (!PyArg_ParseTuple(args, "is:log", &level, &record)) {
+ if (!PyArg_ParseTuple(args, "s:log", &record)) {
return nullptr;
}
ceph_assert(self->this_module);
- self->this_module->log(level, record);
+ self->this_module->log(record);
Py_RETURN_NONE;
}
static PyObject*
ceph_log(BaseMgrStandbyModule *self, PyObject *args)
{
- int level = 0;
char *record = nullptr;
- if (!PyArg_ParseTuple(args, "is:log", &level, &record)) {
+ if (!PyArg_ParseTuple(args, "s:log", &record)) {
return nullptr;
}
ceph_assert(self->this_module);
- self->this_module->log(level, record);
+ self->this_module->log(record);
Py_RETURN_NONE;
}
}
}
-void PyModuleRunner::log(int level, const std::string &record)
+void PyModuleRunner::log(const std::string &record)
{
#undef dout_prefix
-#define dout_prefix *_dout << "mgr[" << get_name() << "] "
- dout(ceph::dout::need_dynamic(level)) << record << dendl;
+#define dout_prefix *_dout << "[" << get_name() << "] "
+ dout(0) << record << dendl;
#undef dout_prefix
#define dout_prefix *_dout << "mgr " << __func__ << " "
}
public:
int serve();
void shutdown();
- void log(int level, const std::string &record);
+ void log(const std::string &record);
const char *get_thread_name() const
{
def __init__(self, module_inst):
super(CPlusPlusHandler, self).__init__()
self._module = module_inst
+ self.setFormatter(logging.Formatter("[%(levelname)-4s] %(message)s"))
def emit(self, record):
- if record.levelno <= logging.DEBUG:
- ceph_level = 20
- elif record.levelno <= logging.INFO:
- ceph_level = 4
- elif record.levelno <= logging.WARNING:
- ceph_level = 1
- else:
- ceph_level = 0
-
- self._module._ceph_log(ceph_level, self.format(record))
+ if record.levelno >= self._module._get_log_level():
+ self._module._ceph_log(self.format(record))
def configure_logger(module_inst, module_name):
# Check https://docs.python.org/3/library/logging.html#logging.Logger.setLevel
# for more information about how the effective log level is
# determined.
- root_logger.setLevel(logging.ERROR)
+ root_logger.setLevel(logging.CRITICAL)
return logger