[systemd-commits] man/journalctl.xml src/journal src/shared

Lennart Poettering lennart at kemper.freedesktop.org
Thu Jul 18 06:59:14 PDT 2013


 man/journalctl.xml       |   12 ++++++++++++
 src/journal/journalctl.c |    2 +-
 src/shared/logs-show.c   |   11 +++++++++--
 src/shared/output-mode.h |    1 +
 4 files changed, 23 insertions(+), 3 deletions(-)

New commits:
commit 44bc6e1fe0171af19451b5586f7fdd08853ccf5b
Author: Tomasz Torcz <tomek at pipebreaker.pl>
Date:   Thu Jul 18 10:21:45 2013 +0200

    journalctl: add ”short-iso” output format with verbose ISO8601 timestamps
    
    Example:
    2013-07-18T10:10:01+0200 sandworm CROND[20957]: (root) CMD (/usr/lib64/sa/sa1 1 1)

diff --git a/man/journalctl.xml b/man/journalctl.xml
index 65a59ea..da43bf2 100644
--- a/man/journalctl.xml
+++ b/man/journalctl.xml
@@ -266,6 +266,18 @@
 
                                         <varlistentry>
                                                 <term>
+                                                        <option>short-iso</option>
+                                                </term>
+                                                <listitem>
+                                                        <para>is very similar
+                                                        but shows ISO 8601
+                                                        wallclock timestamps.
+                                                        </para>
+                                                </listitem>
+                                        </varlistentry>
+
+                                        <varlistentry>
+                                                <term>
                                                         <option>verbose</option>
                                                 </term>
                                                 <listitem>
diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c
index 2f043a4..083a597 100644
--- a/src/journal/journalctl.c
+++ b/src/journal/journalctl.c
@@ -133,7 +133,7 @@ static int help(void) {
                "  -n --lines[=INTEGER]     Number of journal entries to show\n"
                "     --no-tail             Show all lines, even in follow mode\n"
                "  -r --reverse             Show the newest entries first\n"
-               "  -o --output=STRING       Change journal output mode (short, short-monotonic,\n"
+               "  -o --output=STRING       Change journal output mode (short, short-monotonic, short-iso\n"
                "                           verbose, export, json, json-pretty, json-sse, cat)\n"
                "  -x --catalog             Add message explanations where available\n"
                "  -l --full                Do not ellipsize fields\n"
diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c
index ea47468..bd7363a 100644
--- a/src/shared/logs-show.c
+++ b/src/shared/logs-show.c
@@ -273,9 +273,14 @@ static int output_short(
                 }
 
                 t = (time_t) (x / USEC_PER_SEC);
-                if (strftime(buf, sizeof(buf), "%b %d %H:%M:%S", localtime_r(&t, &tm)) <= 0) {
+                if (mode == OUTPUT_SHORT_ISO)
+                        r = strftime(buf, sizeof(buf), "%Y-%m-%dT%H:%M:%S%z", localtime_r(&t, &tm));
+                else
+                        r = strftime(buf, sizeof(buf), "%b %d %H:%M:%S", localtime_r(&t, &tm));
+
+                if (r <= 0) {
                         log_error("Failed to format time.");
-                        return r;
+                        return -EINVAL;
                 }
 
                 fputs(buf, f);
@@ -798,6 +803,7 @@ static int (*output_funcs[_OUTPUT_MODE_MAX])(
 
         [OUTPUT_SHORT] = output_short,
         [OUTPUT_SHORT_MONOTONIC] = output_short,
+        [OUTPUT_SHORT_ISO] = output_short,
         [OUTPUT_VERBOSE] = output_verbose,
         [OUTPUT_EXPORT] = output_export,
         [OUTPUT_JSON] = output_json,
@@ -1076,6 +1082,7 @@ int show_journal_by_unit(
 static const char *const output_mode_table[_OUTPUT_MODE_MAX] = {
         [OUTPUT_SHORT] = "short",
         [OUTPUT_SHORT_MONOTONIC] = "short-monotonic",
+        [OUTPUT_SHORT_ISO] = "short-iso",
         [OUTPUT_VERBOSE] = "verbose",
         [OUTPUT_EXPORT] = "export",
         [OUTPUT_JSON] = "json",
diff --git a/src/shared/output-mode.h b/src/shared/output-mode.h
index 0efd430..4012889 100644
--- a/src/shared/output-mode.h
+++ b/src/shared/output-mode.h
@@ -24,6 +24,7 @@
 typedef enum OutputMode {
         OUTPUT_SHORT,
         OUTPUT_SHORT_MONOTONIC,
+        OUTPUT_SHORT_ISO,
         OUTPUT_VERBOSE,
         OUTPUT_EXPORT,
         OUTPUT_JSON,



More information about the systemd-commits mailing list