--- include/asterisk/logger.h 2003-11-29 08:43:53.000000000 -0800 +++ include/asterisk/logger.new 2003-11-29 08:38:45.000000000 -0800 @@ -57,10 +57,11 @@ #define _A_ __FILE__, __LINE__, __PRETTY_FUNCTION__ #define LOG_DEBUG 0, _A_ -#define LOG_EVENT 1, _A_ -#define LOG_NOTICE 2, _A_ -#define LOG_WARNING 3, _A_ +#define LOG_EVENT 1, _A_ +#define LOG_NOTICE 2, _A_ +#define LOG_WARNING 3, _A_ #define LOG_ERROR 4, _A_ +#define LOG_VERBOSE 5, _A_ #if defined(__cplusplus) || defined(c_plusplus) } --- logger.c 2003-11-29 08:07:15.000000000 -0800 +++ logger.new 2003-11-29 08:06:59.000000000 -0800 @@ -61,7 +61,8 @@ "EVENT", "NOTICE", "WARNING", - "ERROR" + "ERROR", + "VERBOSE" }; static int colors[] = { @@ -92,6 +93,8 @@ res |= (1 << 3); else if (!strcasecmp(w, "error")) res |= (1 << 4); + else if (!strcasecmp(w, "verbose")) + res |= (1 << 5); else { fprintf(stderr, "Logfile Warning: Unknown keyword '%s' at line %d of logger.conf\n", w, lineno); } @@ -412,7 +415,11 @@ time(&t); localtime_r(&t,&tm); strftime(date, sizeof(date), "%b %e %T", &tm); - fprintf(f->f, "%s %s[%ld]: File %s, Line %d (%s): ", date, levels[level], (long)pthread_self(), file, line, function); + if (level == 5 /*LOG_VERBOSE*/) + fprintf(f->f, "%s %s[%ld]: ", date, levels[level], (long)pthread_self()); + else + fprintf(f->f, "%s %s[%ld]: File %s, Line %d (%s): ", date, levels[level], (long)pthread_self(), file, line, function); + } else { sprintf(linestr, "%d", line); fprintf(f->f, "%s[%ld]: File %s, Line %s (%s): ", --- asterisk.c 2003-11-29 08:06:44.000000000 -0800 +++ asterisk.new 2003-11-29 08:10:28.000000000 -0800 @@ -541,12 +541,16 @@ const char *c=NULL; /* Return to the beginning of the line */ if (!pos) { + if (strstr(s,"\n")) + ast_log(LOG_VERBOSE, "%s", s); + else + ast_log(LOG_VERBOSE, "%s\n", s); fprintf(stdout, "\r"); if ((c = fix_header(tmp, sizeof(tmp), s, VERBOSE_PREFIX_4)) || (c = fix_header(tmp, sizeof(tmp), s, VERBOSE_PREFIX_3)) || (c = fix_header(tmp, sizeof(tmp), s, VERBOSE_PREFIX_2)) || (c = fix_header(tmp, sizeof(tmp), s, VERBOSE_PREFIX_1))) - fputs(tmp, stdout); + fputs(tmp, stdout); } if (c) fputs(c + pos,stdout);