log: Don't prefix log file messages with time and severity if they're continuations
In fecb1b65b1
("log: Don't prefix message with timestamp on --debug
if it's a continuation"), I fixed this for --debug on standard error,
but not for log files: if messages are continuations, they shouldn't
be prefixed by timestamp and severity.
Otherwise, we'll print stuff like this:
0.0028: ERROR: Receive error on guest connection, reset0.0028: ERROR: : Bad file descriptor
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
38363964fc
commit
0ea60e5a77
1 changed files with 9 additions and 5 deletions
14
log.c
14
log.c
|
@ -224,19 +224,23 @@ static int logfile_rotate(int fd, const struct timespec *now)
|
|||
/**
|
||||
* logfile_write() - Write entry to log file, trigger rotation if full
|
||||
* @newline: Append newline at the end of the message, if missing
|
||||
* @cont: Continuation of a previous message, on the same line
|
||||
* @pri: Facility and level map, same as priority for vsyslog()
|
||||
* @now: Timestamp
|
||||
* @format: Same as vsyslog() format
|
||||
* @ap: Same as vsyslog() ap
|
||||
*/
|
||||
static void logfile_write(bool newline, int pri, const struct timespec *now,
|
||||
static void logfile_write(bool newline, bool cont, int pri,
|
||||
const struct timespec *now,
|
||||
const char *format, va_list ap)
|
||||
{
|
||||
char buf[BUFSIZ];
|
||||
int n;
|
||||
int n = 0;
|
||||
|
||||
n = logtime_fmt(buf, BUFSIZ, now);
|
||||
n += snprintf(buf + n, BUFSIZ - n, ": %s", logfile_prefix[pri]);
|
||||
if (!cont) {
|
||||
n += logtime_fmt(buf, BUFSIZ, now);
|
||||
n += snprintf(buf + n, BUFSIZ - n, ": %s", logfile_prefix[pri]);
|
||||
}
|
||||
|
||||
n += vsnprintf(buf + n, BUFSIZ - n, format, ap);
|
||||
|
||||
|
@ -278,7 +282,7 @@ void vlogmsg(bool newline, bool cont, int pri, const char *format, va_list ap)
|
|||
|
||||
va_copy(ap2, ap); /* Don't clobber ap, we need it again */
|
||||
if (log_file != -1)
|
||||
logfile_write(newline, pri, now, format, ap2);
|
||||
logfile_write(newline, cont, pri, now, format, ap2);
|
||||
else if (!(log_mask & LOG_MASK(LOG_DEBUG)))
|
||||
passt_vsyslog(newline, pri, format, ap2);
|
||||
|
||||
|
|
Loading…
Reference in a new issue