summaryrefslogtreecommitdiff
path: root/src/journal/journalctl.c
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2012-11-17 15:27:59 +0100
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2012-11-17 15:32:04 +0100
commite3657ecd7f9f9bd6a1719fc808639cd4b780674a (patch)
treefe635b60249497b071f59b07720f97f714a60715 /src/journal/journalctl.c
parent1e1954f53386cb773e2a152748dd31c4d36aa2d8 (diff)
journalctl: add option to forgo ellipsization
Sometimes it is better to see messages in full, and the existing set of options didn't allow this easily. E.g. now journalctl -f --full will behave like tail -f /var/log/messages of yore. Long option only for now, since small letters are becoming scarce, and this doesn't feel like a capital-letter-option. '-u' would be nice, and the above command would be spelled journalctl -fu
Diffstat (limited to 'src/journal/journalctl.c')
-rw-r--r--src/journal/journalctl.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c
index 8f452dd92d..4d46beb3fe 100644
--- a/src/journal/journalctl.c
+++ b/src/journal/journalctl.c
@@ -57,6 +57,7 @@
static OutputMode arg_output = OUTPUT_SHORT;
static bool arg_follow = false;
+static bool arg_full = false;
static bool arg_all = false;
static bool arg_no_pager = false;
static unsigned arg_lines = 0;
@@ -105,6 +106,7 @@ static int help(void) {
" -o --output=STRING Change journal output mode (short, short-monotonic,\n"
" verbose, export, json, json-pretty, json-sse, cat)\n"
" -x --catalog Add message explanations where available\n"
+ " --full Do not ellipsize fields\n"
" -a --all Show all fields, including long and unprintable\n"
" -q --quiet Don't show privilege warning\n"
" --no-pager Do not pipe output into a pager\n"
@@ -140,6 +142,7 @@ static int parse_argv(int argc, char *argv[]) {
ARG_NO_TAIL,
ARG_NEW_ID128,
ARG_HEADER,
+ ARG_FULL,
ARG_SETUP_KEYS,
ARG_INTERVAL,
ARG_VERIFY,
@@ -158,6 +161,7 @@ static int parse_argv(int argc, char *argv[]) {
{ "follow", no_argument, NULL, 'f' },
{ "output", required_argument, NULL, 'o' },
{ "all", no_argument, NULL, 'a' },
+ { "full", no_argument, NULL, ARG_FULL },
{ "lines", optional_argument, NULL, 'n' },
{ "no-tail", no_argument, NULL, ARG_NO_TAIL },
{ "new-id128", no_argument, NULL, ARG_NEW_ID128 },
@@ -226,6 +230,10 @@ static int parse_argv(int argc, char *argv[]) {
break;
+ case ARG_FULL:
+ arg_full = true;
+ break;
+
case 'a':
arg_all = true;
break;
@@ -1065,7 +1073,7 @@ int main(int argc, char *argv[]) {
flags =
arg_all * OUTPUT_SHOW_ALL |
- (!on_tty() || pager_have()) * OUTPUT_FULL_WIDTH |
+ (arg_full || !on_tty() || pager_have()) * OUTPUT_FULL_WIDTH |
on_tty() * OUTPUT_COLOR |
arg_catalog * OUTPUT_CATALOG;