{
std::lock_guard l(lock);
- if (channel == "audit") {
- audit_clog->do_log(prio, message);
- } else {
- clog->do_log(prio, message);
- }
+ auto cl = monc.get_log_client()->create_channel(channel);
+ map<string,string> log_to_monitors;
+ map<string,string> log_to_syslog;
+ map<string,string> log_channel;
+ map<string,string> log_prio;
+ map<string,string> log_to_graylog;
+ map<string,string> log_to_graylog_host;
+ map<string,string> log_to_graylog_port;
+ uuid_d fsid;
+ string host;
+ if (parse_log_client_options(g_ceph_context, log_to_monitors, log_to_syslog,
+ log_channel, log_prio, log_to_graylog,
+ log_to_graylog_host, log_to_graylog_port,
+ fsid, host) == 0)
+ cl->update_config(log_to_monitors, log_to_syslog,
+ log_channel, log_prio, log_to_graylog,
+ log_to_graylog_host, log_to_graylog_port,
+ fsid, host);
+ cl->do_log(prio, message);
}
void ActivePyModules::register_client(std::string_view name, std::string addrs)
int prio = 0;
char *channel = nullptr;
char *message = nullptr;
- std::vector<std::string> channels = { "audit", "cluster" };
if (!PyArg_ParseTuple(args, "sis:ceph_cluster_log", &channel, &prio, &message)) {
return nullptr;
}
- if (std::find(channels.begin(), channels.end(), std::string(channel)) == channels.end()) {
- std::string msg("Unknown channel: ");
- msg.append(channel);
- PyErr_SetString(PyExc_ValueError, msg.c_str());
- return nullptr;
- }
-
PyThreadState *tstate = PyEval_SaveThread();
self->py_modules->cluster_log(channel, (clog_type)prio, message);
PyEval_RestoreThread(tstate);