about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2013-01-31 06:47:41 +0000
committerEric Wong <normalperson@yhbt.net>2013-01-31 06:47:41 +0000
commitc0931fd23e065521237530cd6f9f6068f259e4e1 (patch)
treec48e24b9e010c5600a015b1cc0ecf00195aa39eb
parent459d163514766653d28d8964a7e2e25d27f7c873 (diff)
downloadcmogstored-c0931fd23e065521237530cd6f9f6068f259e4e1.tar.gz
This ensures the: inherited $ADDRESS:$PORT on fd=...
messages are prefixed with the PID in logs.
-rw-r--r--cmogstored.c42
1 files changed, 22 insertions, 20 deletions
diff --git a/cmogstored.c b/cmogstored.c
index c96ee0b..d3e8b68 100644
--- a/cmogstored.c
+++ b/cmogstored.c
@@ -214,40 +214,42 @@ static void daemonize(void)
 # define LOG_PERROR 0
 #endif
 
+/* TODO: make logging configurable (how?) */
+static void log_init(bool is_daemon)
+{
+        int mask = 0;
+        int option = LOG_PID;
+
+        if (!is_daemon)
+                option |= LOG_PERROR;
+
+        openlog(THIS, option, LOG_DAEMON);
+        mask |= LOG_MASK(LOG_EMERG);
+        mask |= LOG_MASK(LOG_ALERT);
+        mask |= LOG_MASK(LOG_CRIT);
+        mask |= LOG_MASK(LOG_ERR);
+        mask |= LOG_MASK(LOG_WARNING);
+        mask |= LOG_MASK(LOG_NOTICE);
+        mask |= LOG_MASK(LOG_INFO);
+        /* mask |= LOG_MASK(LOG_DEBUG); */
+        setlogmask(mask);
+}
+
 MOG_NOINLINE static void setup(int argc, char *argv[])
 {
         int pid_fd = -1;
         static struct argp argp = { options, parse_opt, NULL, summary };
-        int mask = 0;
 
         mog_mnt_refresh();
         argp_parse(&argp, argc, argv, 0, NULL, &mog_cli);
         mog_cfg_validate_or_die(&mog_cli);
+        log_init(mog_cli.daemonize);
         mog_inherit_init();
         mog_cfg_svc_start_or_die(&mog_cli);
         mog_inherit_cleanup();
 
         if (mog_cli.pidfile) pid_fd = mog_pidfile_prepare(mog_cli.pidfile);
 
-        /* TODO: make logging configurable */
-        {
-                int option = LOG_PID;
-
-                if (!mog_cli.daemonize)
-                        option |= LOG_PERROR;
-
-                openlog(THIS, option, LOG_DAEMON);
-                mask |= LOG_MASK(LOG_EMERG);
-                mask |= LOG_MASK(LOG_ALERT);
-                mask |= LOG_MASK(LOG_CRIT);
-                mask |= LOG_MASK(LOG_ERR);
-                mask |= LOG_MASK(LOG_WARNING);
-                mask |= LOG_MASK(LOG_NOTICE);
-                mask |= LOG_MASK(LOG_INFO);
-                /* mask |= LOG_MASK(LOG_DEBUG); */
-                setlogmask(mask);
-        }
-
         /* don't daemonize if we're inheriting FDs, we're already daemonized */
         if (mog_cli.daemonize && !getenv("CMOGSTORED_FD"))
                 daemonize();