diff options
| author | Bala.FA <barumuga@redhat.com> | 2013-08-09 16:51:11 +0530 | 
|---|---|---|
| committer | Vijay Bellur <vbellur@redhat.com> | 2013-08-13 07:07:43 -0700 | 
| commit | 4e63eafaed6073eab3d87c579e964fa5302f0d63 (patch) | |
| tree | 1fba739f316a595141d0faee09c823326f0f4802 /glusterfsd | |
| parent | a1fe3d040a8c9b032cbcb5e831383628cddfa39a (diff) | |
log: set ident to openlog
at syslog side, log message is identified by its properties like
programname, pid, etc.  brick/mount processes need to be identified
uniquely as they are different process of gluterfsd/glusterfs.  At
rsyslog side, log separated by programname/app-name with pid works but
bit hard to identify them in long run which process is for what
brick/mount.
This patch fixes by setting identity string at openlog() which sets
programname/app-name as similar to old style log file prefixed by
gluster, glusterd, glusterfs or glusterfsd
Change-Id: Ia05068943fa67ae1663aaded1444cf84ea648db8
BUG: 928648
Signed-off-by: Bala.FA <barumuga@redhat.com>
Reviewed-on: http://review.gluster.org/5541
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Diffstat (limited to 'glusterfsd')
| -rw-r--r-- | glusterfsd/src/glusterfsd.c | 24 | 
1 files changed, 21 insertions, 3 deletions
diff --git a/glusterfsd/src/glusterfsd.c b/glusterfsd/src/glusterfsd.c index 695f456823d..ad0b29e7e6d 100644 --- a/glusterfsd/src/glusterfsd.c +++ b/glusterfsd/src/glusterfsd.c @@ -1334,10 +1334,13 @@ out:  }  static int -logging_init (glusterfs_ctx_t *ctx) +logging_init (glusterfs_ctx_t *ctx, const char *progpath)  {          cmd_args_t *cmd_args = NULL;          int         ret = 0; +        char        ident[1024] = {0,}; +        char       *progname = NULL; +        char       *ptr = NULL;          cmd_args = &ctx->cmd_args; @@ -1349,7 +1352,22 @@ logging_init (glusterfs_ctx_t *ctx)                  }          } -        if (gf_log_init (ctx, cmd_args->log_file) == -1) { +#ifdef GF_USE_SYSLOG +        progname  = gf_strdup (progpath); +        snprintf (ident, 1024, "%s_%s", basename(progname), +                  basename(cmd_args->log_file)); +        GF_FREE (progname); +        /* remove .log suffix */ +        if (NULL != (ptr = strrchr(ident, '.'))) { +                if (strcmp(ptr, ".log") == 0) { +                        /* note: ptr points to location in ident only */ +                        ptr[0] = '\0'; +                } +        } +        ptr = ident; +#endif + +        if (gf_log_init (ctx, cmd_args->log_file, ptr) == -1) {                  fprintf (stderr, "ERROR: failed to open logfile %s\n",                           cmd_args->log_file);                  return -1; @@ -1911,7 +1929,7 @@ main (int argc, char *argv[])          if (ret)                  goto out; -        ret = logging_init (ctx); +        ret = logging_init (ctx, argv[0]);          if (ret)                  goto out;  | 
