diff options
| author | Vijay Bellur <vbellur@redhat.com> | 2013-09-13 15:20:45 +0530 | 
|---|---|---|
| committer | Anand Avati <avati@redhat.com> | 2013-09-24 12:00:54 -0700 | 
| commit | aa971f439d6eef9e52091915ce7ab1127aac1368 (patch) | |
| tree | d49761380b129994d0036aa5dcf28d721d0654cc /libglusterfs/src/common-utils.c | |
| parent | 848471799236063961eb37cb7bda3cf0e9a6f956 (diff) | |
logging: Expose set_log_file_path() in libglusterfs.
This patch also changes the behavior of glfs_set_logging().
If logfile argument is not provided to glfs_set_logging(),
libgfapi uses set_log_file_path() to create a logfile.
Change-Id: I49ec66c7f16f5604ff2f7cf7b365b08a05b5460d
BUG: 764890
Signed-off-by: Vijay Bellur <vbellur@redhat.com>
Reviewed-on: http://review.gluster.org/5910
Reviewed-by: Anand Avati <avati@redhat.com>
Tested-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'libglusterfs/src/common-utils.c')
| -rw-r--r-- | libglusterfs/src/common-utils.c | 61 | 
1 files changed, 61 insertions, 0 deletions
diff --git a/libglusterfs/src/common-utils.c b/libglusterfs/src/common-utils.c index 6eb886b384a..f223a3f8a85 100644 --- a/libglusterfs/src/common-utils.c +++ b/libglusterfs/src/common-utils.c @@ -2807,3 +2807,64 @@ out:  } +/* Sets log file path from user provided arguments */ +int +gf_set_log_file_path (cmd_args_t *cmd_args) +{ +        int   i = 0; +        int   j = 0; +        int   ret = 0; +        char  tmp_str[1024] = {0,}; + +        if (!cmd_args) +                goto done; + +        if (cmd_args->mount_point) { +                j = 0; +                i = 0; +                if (cmd_args->mount_point[0] == '/') +                        i = 1; +                for (; i < strlen (cmd_args->mount_point); i++,j++) { +                        tmp_str[j] = cmd_args->mount_point[i]; +                        if (cmd_args->mount_point[i] == '/') +                                tmp_str[j] = '-'; +                } + +                ret = gf_asprintf (&cmd_args->log_file, +                                   DEFAULT_LOG_FILE_DIRECTORY "/%s.log", +                                   tmp_str); +                if (ret > 0) +                        ret = 0; +                goto done; +        } + +        if (cmd_args->volfile) { +                j = 0; +                i = 0; +                if (cmd_args->volfile[0] == '/') +                        i = 1; +                for (; i < strlen (cmd_args->volfile); i++,j++) { +                        tmp_str[j] = cmd_args->volfile[i]; +                        if (cmd_args->volfile[i] == '/') +                                tmp_str[j] = '-'; +                } +                ret = gf_asprintf (&cmd_args->log_file, +                                   DEFAULT_LOG_FILE_DIRECTORY "/%s.log", +                                   tmp_str); +                if (ret > 0) +                        ret = 0; +                goto done; +        } + +        if (cmd_args->volfile_server) { + +                ret = gf_asprintf (&cmd_args->log_file, +                                   DEFAULT_LOG_FILE_DIRECTORY "/%s-%s-%d.log", +                                   cmd_args->volfile_server, +                                   cmd_args->volfile_id, getpid()); +                if (ret > 0) +                        ret = 0; +        } +done: +        return ret; +}  | 
