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

................
  r193194 | kpfleming | 2009-05-08 09:06:15 -0500 (Fri, 08 May 2009) | 13 lines

  Merged revisions 193193 via svnmerge from
  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/branches/1.6.1@193196 65c4cc65-6c06-0410-ace0-fbb531ad65f3

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

index a441ebd8f539a86f7e4a0eacf03263c425185319..54e9d7907abb00ef8fafc1bf14a1c4eedf2e2574 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 9ab2f63c9f561ae241fc779b8fd2b16e2a2f23ff..40f1cda6267faea2b84d86d6a30c4ed9c4a7782d 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) {