|
|
@ -601,7 +601,7 @@ void ast_log(int level, const char *file, int line, const char *function, const
|
|
|
|
|
|
|
|
|
|
|
|
if (level != __LOG_VERBOSE) {
|
|
|
|
if (level != __LOG_VERBOSE) {
|
|
|
|
sprintf(linestr, "%d", line);
|
|
|
|
sprintf(linestr, "%d", line);
|
|
|
|
snprintf(buf, sizeof(buf), "%s %s[%ld]: %s:%s %s: ",
|
|
|
|
snprintf(buf, sizeof(buf), option_timestamp ? "[%s] %s[%ld]: %s:%s %s: " : "%s %s[%ld]: %s:%s %s: ",
|
|
|
|
date,
|
|
|
|
date,
|
|
|
|
term_color(tmp1, levels[level], colors[level], 0, sizeof(tmp1)),
|
|
|
|
term_color(tmp1, levels[level], colors[level], 0, sizeof(tmp1)),
|
|
|
|
(long)GETTID(),
|
|
|
|
(long)GETTID(),
|
|
|
@ -616,7 +616,7 @@ void ast_log(int level, const char *file, int line, const char *function, const
|
|
|
|
ast_console_puts(buf);
|
|
|
|
ast_console_puts(buf);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else if ((chan->logmask & (1 << level)) && (chan->fileptr)) {
|
|
|
|
} else if ((chan->logmask & (1 << level)) && (chan->fileptr)) {
|
|
|
|
snprintf(buf, sizeof(buf), "%s %s[%ld]: ", date,
|
|
|
|
snprintf(buf, sizeof(buf), option_timestamp ? "[%s] %s[%ld]: " : "%s %s[%ld]: ", date,
|
|
|
|
levels[level], (long)GETTID());
|
|
|
|
levels[level], (long)GETTID());
|
|
|
|
fprintf(chan->fileptr, buf);
|
|
|
|
fprintf(chan->fileptr, buf);
|
|
|
|
va_start(ap, fmt);
|
|
|
|
va_start(ap, fmt);
|
|
|
@ -657,13 +657,30 @@ extern void ast_verbose(const char *fmt, ...)
|
|
|
|
static int replacelast = 0, complete;
|
|
|
|
static int replacelast = 0, complete;
|
|
|
|
struct msglist *m;
|
|
|
|
struct msglist *m;
|
|
|
|
struct verb *v;
|
|
|
|
struct verb *v;
|
|
|
|
|
|
|
|
time_t t;
|
|
|
|
|
|
|
|
struct tm tm;
|
|
|
|
|
|
|
|
char date[40];
|
|
|
|
|
|
|
|
char *datefmt;
|
|
|
|
|
|
|
|
|
|
|
|
va_list ap;
|
|
|
|
va_list ap;
|
|
|
|
va_start(ap, fmt);
|
|
|
|
va_start(ap, fmt);
|
|
|
|
ast_mutex_lock(&msglist_lock);
|
|
|
|
ast_mutex_lock(&msglist_lock);
|
|
|
|
|
|
|
|
time(&t);
|
|
|
|
|
|
|
|
localtime_r(&t, &tm);
|
|
|
|
|
|
|
|
strftime(date, sizeof(date), dateformat, &tm);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (option_timestamp) {
|
|
|
|
|
|
|
|
datefmt = alloca(strlen(date) + 3 + strlen(fmt) + 1);
|
|
|
|
|
|
|
|
if (datefmt) {
|
|
|
|
|
|
|
|
sprintf(datefmt, "[%s] %s", date, fmt);
|
|
|
|
|
|
|
|
fmt = datefmt;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
vsnprintf(stuff + pos, sizeof(stuff) - pos, fmt, ap);
|
|
|
|
vsnprintf(stuff + pos, sizeof(stuff) - pos, fmt, ap);
|
|
|
|
opos = pos;
|
|
|
|
opos = pos;
|
|
|
|
pos = strlen(stuff);
|
|
|
|
pos = strlen(stuff);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (stuff[strlen(stuff)-1] == '\n')
|
|
|
|
if (stuff[strlen(stuff)-1] == '\n')
|
|
|
|
complete = 1;
|
|
|
|
complete = 1;
|
|
|
|
else
|
|
|
|
else
|
|
|
@ -703,7 +720,6 @@ extern void ast_verbose(const char *fmt, ...)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} /* else
|
|
|
|
} /* else
|
|
|
|
fprintf(stdout, stuff + opos); */
|
|
|
|
fprintf(stdout, stuff + opos); */
|
|
|
|
|
|
|
|
|
|
|
|
ast_log(LOG_VERBOSE, "%s", stuff);
|
|
|
|
ast_log(LOG_VERBOSE, "%s", stuff);
|
|
|
|
if (strlen(stuff)) {
|
|
|
|
if (strlen(stuff)) {
|
|
|
|
if (stuff[strlen(stuff)-1] != '\n')
|
|
|
|
if (stuff[strlen(stuff)-1] != '\n')
|
|
|
|