]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 193193 via svnmerge from
authorKevin P. Fleming <kpfleming@digium.com>
Fri, 8 May 2009 14:06:15 +0000 (14:06 +0000)
committerKevin P. Fleming <kpfleming@digium.com>
Fri, 8 May 2009 14:06:15 +0000 (14:06 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r193193 | kpfleming | 2009-05-08 09:03:28 -0500 (Fri, 08 May 2009) | 7 lines

  Make absolute paths for logger channels work properly

  (Note: This is not a new feature, it was previously undocumented and broken.)

  The Asterisk logger has a feature to support absolute pathnames for logger channels, but the code implementing the feature was broken. This has been fixed, and the absolute path feature is now documented in the sample logger.conf.
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@193194 65c4cc65-6c06-0410-ace0-fbb531ad65f3

configs/logger.conf.sample
main/logger.c

index 09b4b62a116a384cb1578ad56213a25044daba67..17d3cc4200591ac65ca016e504c35ca937826a0d 100644 (file)
 ;
 ; Special filename "console" represents the system console
 ;
+; Filenams can either be relative to the standard Asterisk log directory
+; (see 'astlogdir' in asterisk.conf), or absolute paths that begin with
+; '/'.
+;
 ; We highly recommend that you DO NOT turn on debug mode if you are simply
 ; running a production system.  Debug mode turns on a LOT of extra messages,
 ; most of which you are unlikely to understand without an understanding of
index 72411275def64e8a54beb380952e2daa5db28df7..bceaf092f05d4b26f0782f19aa7116560eccc9f4 100644 (file)
@@ -295,18 +295,12 @@ static struct logchannel *make_logchannel(const char *channel, const char *compo
                snprintf(chan->filename, sizeof(chan->filename), "%s", channel);
                openlog("asterisk", LOG_PID, chan->facility);
        } else {
-               if (channel[0] == '/') {
-                       if (!ast_strlen_zero(hostname)) { 
-                               snprintf(chan->filename, sizeof(chan->filename), "%s.%s", channel, hostname);
-                       } else {
-                               ast_copy_string(chan->filename, channel, sizeof(chan->filename));
-                       }
-               }                 
-               
                if (!ast_strlen_zero(hostname)) {
-                       snprintf(chan->filename, sizeof(chan->filename), "%s/%s.%s", ast_config_AST_LOG_DIR, channel, hostname);
+                       snprintf(chan->filename, sizeof(chan->filename), "%s/%s.%s",
+                                channel[0] != '/' ? ast_config_AST_LOG_DIR : "", channel, hostname);
                } else {
-                       snprintf(chan->filename, sizeof(chan->filename), "%s/%s", ast_config_AST_LOG_DIR, channel);
+                       snprintf(chan->filename, sizeof(chan->filename), "%s/%s",
+                                channel[0] != '/' ? ast_config_AST_LOG_DIR : "", channel);
                }
                chan->fileptr = fopen(chan->filename, "a");
                if (!chan->fileptr) {