mirror of
https://passt.top/passt
synced 2025-06-04 23:25:33 +02:00
log: Don't export passt_vsyslog()
passt_vsyslog() is an exposed function in log.h. However it shouldn't be called from outside log.c: it writes specifically to the system log, and most code should call passt's logging helpers which might go to the syslog or to a log file. Make passt_vsyslog() local to log.c. This requires a code motion to avoid a forward declaration. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
This commit is contained in:
parent
57d2db370b
commit
e36c35c952
2 changed files with 24 additions and 25 deletions
48
log.c
48
log.c
|
@ -249,6 +249,30 @@ static void logfile_write(bool newline, bool cont, int pri,
|
||||||
log_written += n;
|
log_written += n;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* passt_vsyslog() - vsyslog() implementation not using heap memory
|
||||||
|
* @newline: Append newline at the end of the message, if missing
|
||||||
|
* @pri: Facility and level map, same as priority for vsyslog()
|
||||||
|
* @format: Same as vsyslog() format
|
||||||
|
* @ap: Same as vsyslog() ap
|
||||||
|
*/
|
||||||
|
static void passt_vsyslog(bool newline, int pri, const char *format, va_list ap)
|
||||||
|
{
|
||||||
|
char buf[BUFSIZ];
|
||||||
|
int n;
|
||||||
|
|
||||||
|
/* Send without timestamp, the system logger should add it */
|
||||||
|
n = snprintf(buf, BUFSIZ, "<%i> %s: ", pri, log_ident);
|
||||||
|
|
||||||
|
n += vsnprintf(buf + n, BUFSIZ - n, format, ap);
|
||||||
|
|
||||||
|
if (newline && format[strlen(format)] != '\n')
|
||||||
|
n += snprintf(buf + n, BUFSIZ - n, "\n");
|
||||||
|
|
||||||
|
if (log_sock >= 0 && send(log_sock, buf, n, 0) != n && log_stderr)
|
||||||
|
FPRINTF(stderr, "Failed to send %i bytes to syslog\n", n);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* vlogmsg() - Print or send messages to log or output files as configured
|
* vlogmsg() - Print or send messages to log or output files as configured
|
||||||
* @newline: Append newline at the end of the message, if missing
|
* @newline: Append newline at the end of the message, if missing
|
||||||
|
@ -373,30 +397,6 @@ void __setlogmask(int mask)
|
||||||
setlogmask(mask);
|
setlogmask(mask);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* passt_vsyslog() - vsyslog() implementation not using heap memory
|
|
||||||
* @newline: Append newline at the end of the message, if missing
|
|
||||||
* @pri: Facility and level map, same as priority for vsyslog()
|
|
||||||
* @format: Same as vsyslog() format
|
|
||||||
* @ap: Same as vsyslog() ap
|
|
||||||
*/
|
|
||||||
void passt_vsyslog(bool newline, int pri, const char *format, va_list ap)
|
|
||||||
{
|
|
||||||
char buf[BUFSIZ];
|
|
||||||
int n;
|
|
||||||
|
|
||||||
/* Send without timestamp, the system logger should add it */
|
|
||||||
n = snprintf(buf, BUFSIZ, "<%i> %s: ", pri, log_ident);
|
|
||||||
|
|
||||||
n += vsnprintf(buf + n, BUFSIZ - n, format, ap);
|
|
||||||
|
|
||||||
if (newline && format[strlen(format)] != '\n')
|
|
||||||
n += snprintf(buf + n, BUFSIZ - n, "\n");
|
|
||||||
|
|
||||||
if (log_sock >= 0 && send(log_sock, buf, n, 0) != n && log_stderr)
|
|
||||||
FPRINTF(stderr, "Failed to send %i bytes to syslog\n", n);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* logfile_init() - Open log file and write header with PID, version, path
|
* logfile_init() - Open log file and write header with PID, version, path
|
||||||
* @name: Identifier for header: passt or pasta
|
* @name: Identifier for header: passt or pasta
|
||||||
|
|
1
log.h
1
log.h
|
@ -55,7 +55,6 @@ void trace_init(int enable);
|
||||||
|
|
||||||
void __openlog(const char *ident, int option, int facility);
|
void __openlog(const char *ident, int option, int facility);
|
||||||
void logfile_init(const char *name, const char *path, size_t size);
|
void logfile_init(const char *name, const char *path, size_t size);
|
||||||
void passt_vsyslog(bool newline, int pri, const char *format, va_list ap);
|
|
||||||
void __setlogmask(int mask);
|
void __setlogmask(int mask);
|
||||||
|
|
||||||
#endif /* LOG_H */
|
#endif /* LOG_H */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue