]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
log: add log_stderr_prefix option
authorSage Weil <sage@redhat.com>
Thu, 7 Dec 2017 22:39:30 +0000 (16:39 -0600)
committerSage Weil <sage@redhat.com>
Mon, 8 Jan 2018 22:39:19 +0000 (16:39 -0600)
Allows you to set a prefix for debug log messages send to stderr (e.g.,
"debug ").

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit c142ae3f1530067f35b8a1e1bac9ddeea4d81c09)

src/common/ceph_context.cc
src/common/options.cc
src/log/Log.cc
src/log/Log.h

index 64b2ec6747793de6e85e0aa986379b7b3e1edab7..0afdc3ac66cd83c552ba7d3300e3dcaea932fc36 100644 (file)
@@ -195,6 +195,7 @@ public:
       "log_max_recent",
       "log_to_syslog",
       "err_to_syslog",
+      "log_stderr_prefix",
       "log_to_stderr",
       "err_to_stderr",
       "log_to_graylog",
@@ -228,6 +229,10 @@ public:
       log->reopen_log_file();
     }
 
+    if (changed.count("log_stderr_prefix")) {
+      log->set_log_stderr_prefix(conf->get_val<string>("log_stderr_prefix"));
+    }
+
     if (changed.count("log_max_new")) {
 
       log->set_max_new(conf->log_max_new);
index 33f9205258886eab706ab0bacda697d59bed5976..b47300a4fb6a61689b7d80c31c2556700ae46f30 100644 (file)
@@ -327,6 +327,9 @@ std::vector<Option> get_global_options() {
     .set_daemon_default(true)
     .set_description("send critical error log lines to stderr"),
 
+    Option("log_stderr_prefix", Option::TYPE_STR, Option::LEVEL_ADVANCED)
+    .set_description("String to prefix log messages with when sent to stderr"),
+
     Option("log_to_syslog", Option::TYPE_BOOL, Option::LEVEL_BASIC)
     .set_default(false)
     .set_description("send log lines to syslog facility"),
index bf219d379fadf4c5f5e1dc80ad052328d12844c4..3decbc1b0ef0903035ad0f55eb4ebfb7aefc084c 100644 (file)
@@ -126,6 +126,11 @@ void Log::set_log_file(string fn)
   m_log_file = fn;
 }
 
+void Log::set_log_stderr_prefix(const std::string& p)
+{
+  m_log_stderr_prefix = p;
+}
+
 void Log::reopen_log_file()
 {
   pthread_mutex_lock(&m_flush_mutex);
@@ -327,7 +332,7 @@ void Log::_flush(EntryQueue *t, EntryQueue *requeue, bool crash)
       }
 
       if (do_stderr) {
-        cerr << buf << std::endl;
+        cerr << m_log_stderr_prefix << buf << std::endl;
       }
       if (do_fd) {
         buf[buflen] = '\n';
index ce77daabc41fd4db38ed1a0490724d571dce9100..567a6317e6a037a761c1895f3f4dbc2917c4175e 100644 (file)
@@ -43,6 +43,8 @@ class Log : private Thread
   int m_stderr_log, m_stderr_crash;
   int m_graylog_log, m_graylog_crash;
 
+  std::string m_log_stderr_prefix;
+
   shared_ptr<Graylog> m_graylog;
 
   bool m_stop;
@@ -68,6 +70,7 @@ public:
   void set_log_file(std::string fn);
   void reopen_log_file();
   void chown_log_file(uid_t uid, gid_t gid);
+  void set_log_stderr_prefix(const std::string& p);
 
   void flush();