static OutputMode arg_output = OUTPUT_SHORT;
static bool arg_follow = false;
-static bool arg_show_all = false;
+static bool arg_all = false;
static bool arg_no_pager = false;
static unsigned arg_lines = 0;
static bool arg_no_tail = false;
static int help(void) {
- printf("%s [OPTIONS...] [MATCH]\n\n"
+ printf("%s [OPTIONS...] [MATCHES...]\n\n"
"Query the journal.\n\n"
"Flags:\n"
- " -c --cursor=CURSOR Start showing entries from specified cursor\n"
" --since=DATE Start showing entries newer or of the specified date\n"
" --until=DATE Stop showing entries older or of the specified date\n"
+ " -c --cursor=CURSOR Start showing entries from specified cursor\n"
" -b --this-boot Show data only from current boot\n"
" -u --unit=UNIT Show data only from the specified unit\n"
- " -p --priority=RANGE Show only messages within the specified priority range\n\n"
+ " -p --priority=RANGE Show only messages within the specified priority range\n"
" -f --follow Follow journal\n"
" -n --lines[=INTEGER] Number of journal entries to show\n"
" --no-tail Show all lines, even in follow mode\n"
break;
case 'a':
- arg_show_all = true;
+ arg_all = true;
break;
case 'n':
}
flags =
- arg_show_all * OUTPUT_SHOW_ALL |
- have_pager * OUTPUT_FULL_WIDTH |
+ arg_all * OUTPUT_SHOW_ALL |
+ (!on_tty() || have_pager) * OUTPUT_FULL_WIDTH |
on_tty() * OUTPUT_COLOR;
r = output_journal(stdout, j, arg_output, 0, flags);
}
}
- if (flags)
+ if (flags & OUTPUT_SHOW_ALL)
fprintf(f, ": %s%.*s%s\n", color_on, (int) message_len, message, color_off);
else if (!utf8_is_printable_n(message, message_len)) {
char bytes[FORMAT_BYTES_MAX];