Log the relative time rather than the process identification.
When diagnosing a log file, it can be useful to know the relative time between the log entries. In contrast, the PID is mostly useless, since the program does not ever fork. Signed-off-by: Richard Cochran <richardcochran@gmail.com>master
parent
ed504c10ca
commit
b34f74bf03
12
print.c
12
print.c
|
@ -18,8 +18,8 @@
|
||||||
*/
|
*/
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <sys/types.h>
|
|
||||||
#include <syslog.h>
|
#include <syslog.h>
|
||||||
|
#include <time.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
#include "print.h"
|
#include "print.h"
|
||||||
|
@ -45,24 +45,26 @@ void print_verbose(void)
|
||||||
|
|
||||||
void print(int level, char const *format, ...)
|
void print(int level, char const *format, ...)
|
||||||
{
|
{
|
||||||
pid_t pid;
|
struct timespec ts;
|
||||||
va_list ap;
|
va_list ap;
|
||||||
char buf[1024];
|
char buf[1024];
|
||||||
|
|
||||||
if (level > print_level)
|
if (level > print_level)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
pid = getpid();
|
clock_gettime(CLOCK_MONOTONIC, &ts);
|
||||||
|
|
||||||
va_start(ap, format);
|
va_start(ap, format);
|
||||||
vsnprintf(buf, sizeof(buf), format, ap);
|
vsnprintf(buf, sizeof(buf), format, ap);
|
||||||
va_end(ap);
|
va_end(ap);
|
||||||
|
|
||||||
if (verbose) {
|
if (verbose) {
|
||||||
fprintf(stdout, "ptp4l[%d]: %s\n", pid, buf);
|
fprintf(stdout, "ptp4l[%ld.%03ld]: %s\n",
|
||||||
|
ts.tv_sec, ts.tv_nsec / 1000000, buf);
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
}
|
}
|
||||||
if (use_syslog) {
|
if (use_syslog) {
|
||||||
syslog(level, "[%d] %s", pid, buf);
|
syslog(level, "[%ld.%03ld] %s",
|
||||||
|
ts.tv_sec, ts.tv_nsec / 1000000, buf);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue