From: Vadim Kochan Date: Mon, 22 Dec 2014 22:13:58 +0000 (+0200) Subject: ip lib: Added shorter timestamp option X-Git-Tag: v3.18.0~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=79aa79d0581cef6ddab635f7f2b88e81f920573a;p=thirdparty%2Fiproute2.git ip lib: Added shorter timestamp option Added another timestamp format to look like more logging info: [2014-12-22T22:36:50.489 ] 2: enp0s25: mtu 1500 qdisc pfifo_fast state UP group default link/ether 3c:97:0e:a3:86:2e brd ff:ff:ff:ff:ff:ff Signed-off-by: Vadim Kochan --- diff --git a/include/utils.h b/include/utils.h index eef9c42d2..eecbc398b 100644 --- a/include/utils.h +++ b/include/utils.h @@ -19,6 +19,7 @@ extern int show_raw; extern int resolve_hosts; extern int oneline; extern int timestamp; +extern int timestamp_short; extern char * _SL_; extern int max_flush_loops; extern int batch_mode; diff --git a/ip/ip.c b/ip/ip.c index 5f759d542..9b90707a7 100644 --- a/ip/ip.c +++ b/ip/ip.c @@ -53,7 +53,7 @@ static void usage(void) " -f[amily] { inet | inet6 | ipx | dnet | bridge | link } |\n" " -4 | -6 | -I | -D | -B | -0 |\n" " -l[oops] { maximum-addr-flush-attempts } |\n" -" -o[neline] | -t[imestamp] | -b[atch] [filename] |\n" +" -o[neline] | -t[imestamp] | -t[short] | -b[atch] [filename] |\n" " -rc[vbuf] [size]}\n"); exit(-1); } @@ -232,6 +232,9 @@ int main(int argc, char **argv) ++oneline; } else if (matches(opt, "-timestamp") == 0) { ++timestamp; + } else if (matches(opt, "-tshort") == 0) { + ++timestamp; + ++timestamp_short; #if 0 } else if (matches(opt, "-numeric") == 0) { rtnl_names_numeric++; diff --git a/lib/utils.c b/lib/utils.c index 987377b68..64915f3a9 100644 --- a/lib/utils.c +++ b/lib/utils.c @@ -32,6 +32,8 @@ #include "utils.h" +int timestamp_short = 0; + int get_integer(int *val, const char *arg, int base) { long res; @@ -772,14 +774,24 @@ __u8* hexstring_a2n(const char *str, __u8 *buf, int blen) int print_timestamp(FILE *fp) { struct timeval tv; - char *tstr; + struct tm *tm; - memset(&tv, 0, sizeof(tv)); gettimeofday(&tv, NULL); + tm = localtime(&tv.tv_sec); + + if (timestamp_short) { + char tshort[40]; + + strftime(tshort, sizeof(tshort), "%Y-%m-%dT%H:%M:%S", tm); + fprintf(fp, "[%s.%06ld] ", tshort, tv.tv_usec); + } else { + char *tstr = asctime(tm); + + tstr[strlen(tstr)-1] = 0; + fprintf(fp, "Timestamp: %s %ld usec\n", + tstr, tv.tv_usec); + } - tstr = asctime(localtime(&tv.tv_sec)); - tstr[strlen(tstr)-1] = 0; - fprintf(fp, "Timestamp: %s %ld usec\n", tstr, (long)tv.tv_usec); return 0; } diff --git a/man/man8/ip-monitor.8 b/man/man8/ip-monitor.8 index 68e83f1c9..544b62567 100644 --- a/man/man8/ip-monitor.8 +++ b/man/man8/ip-monitor.8 @@ -16,6 +16,19 @@ ip-monitor, rtmon \- state monitoring ] .sp +.SH OPTIONS + +.TP +.BR "\-t" , " \-timestamp" +Prints timestamp before the event message on the separated line in format: + Timestamp:
usec + + +.TP +.BR "\-ts" , " \-tshort" +Prints short timestamp before the event message on the same line in format: + [--
T.] + .SH DESCRIPTION The .B ip