log Asterisk Version number, Build etc into each log file

Allow tracking of previous versions through log file records to be tracked.
Each time log file is created or opened, log Asterisk Version, Buildinfo. etc.

alecdavis (license 585)
Tested by: alecdavis
 
Review: https://reviewboard.asterisk.org/r/1409/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@334619 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Alec L Davis
2011-09-07 08:06:32 +00:00
parent 7b63ad3afb
commit 369ea4e7ef

View File

@@ -48,6 +48,8 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/pbx.h"
#include "asterisk/app.h"
#include "asterisk/syslog.h"
#include "asterisk/buildinfo.h"
#include "asterisk/ast_version.h"
#include <signal.h>
#include <time.h>
@@ -235,6 +237,9 @@ static struct logchannel *make_logchannel(const char *channel, const char *compo
{
struct logchannel *chan;
char *facility;
struct ast_tm tm;
struct timeval now = ast_tvnow();
char datestring[256];
if (ast_strlen_zero(channel) || !(chan = ast_calloc(1, sizeof(*chan) + strlen(components) + 1)))
return NULL;
@@ -283,6 +288,15 @@ static struct logchannel *make_logchannel(const char *channel, const char *compo
ast_console_puts_mutable("'\n", __LOG_ERROR);
ast_free(chan);
return NULL;
} else {
/* Create our date/time */
ast_localtime(&now, &tm, NULL);
ast_strftime(datestring, sizeof(datestring), dateformat, &tm);
fprintf(chan->fileptr, "[%s] Asterisk %s built by %s @ %s on a %s running %s on %s\n",
datestring, ast_get_version(), ast_build_user, ast_build_hostname,
ast_build_machine, ast_build_os, ast_build_date);
fflush(chan->fileptr);
}
chan->type = LOGTYPE_FILE;
}