]> git.ipfire.org Git - thirdparty/iproute2.git/commitdiff
ip lib: Added shorter timestamp option
authorVadim Kochan <vadim4j@gmail.com>
Mon, 22 Dec 2014 22:13:58 +0000 (00:13 +0200)
committerStephen Hemminger <shemming@brocade.com>
Wed, 24 Dec 2014 20:07:36 +0000 (12:07 -0800)
Added another timestamp format to look like more logging info:

[2014-12-22T22:36:50.489 ] 2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> 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 <vadim4j@gmail.com>
include/utils.h
ip/ip.c
lib/utils.c
man/man8/ip-monitor.8

index eef9c42d2fd5b741a9b29824635bf7eac063f08e..eecbc398b4d87c975cd9140785b5d7d1b873ed4e 100644 (file)
@@ -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 5f759d5424aa802453eb5a20ae70e6828b60348a..9b90707a7022911458f97bc8157723480b5cd222 100644 (file)
--- 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++;
index 987377b689a05f7d8e07e26736e10108a5cd5427..64915f3a92bd5f81b8b19ab56feb78c2d3da4ddb 100644 (file)
@@ -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;
 }
 
index 68e83f1c9c20203b6054738f2352b362945e08f1..544b62567c4df970b32f9c5fce0dfc5a19d11f86 100644 (file)
@@ -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: <Day> <Month> <DD> <hh:mm:ss> <YYYY> <usecs> usec
+    <EVENT>
+
+.TP
+.BR "\-ts" , " \-tshort"
+Prints short timestamp before the event message on the same line in format:
+    [<YYYY>-<MM>-<DD>T<hh:mm:ss>.<ms>] <EVENT>
+
 .SH DESCRIPTION
 The
 .B ip