From 11d58b04487ffa4ee82889398e3501afcf7f1dd5 Mon Sep 17 00:00:00 2001 From: "Kevin P. Fleming" Date: Fri, 8 May 2009 14:12:47 +0000 Subject: [PATCH] Merged revisions 193194 via svnmerge from 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.2@193197 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- configs/logger.conf.sample | 4 ++++ main/logger.c | 14 ++++---------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/configs/logger.conf.sample b/configs/logger.conf.sample index a441ebd8f5..54e9d7907a 100644 --- a/configs/logger.conf.sample +++ b/configs/logger.conf.sample @@ -73,6 +73,10 @@ ; ; 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 diff --git a/main/logger.c b/main/logger.c index d62d3ebb7e..b02cca6943 100644 --- a/main/logger.c +++ b/main/logger.c @@ -299,18 +299,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) {