mirror of
https://github.com/systemd/systemd.git
synced 2024-12-22 17:35:35 +03:00
journalctl: add new switch -b to show data from current boot only
This commit is contained in:
parent
ac7019f33f
commit
59cea26a34
7
TODO
7
TODO
@ -1,6 +1,3 @@
|
||||
Fedora 18:
|
||||
* chrony/ntp target?
|
||||
|
||||
Bugfixes:
|
||||
* remove MS_SHARED from src/core/execute.c and src/test/test-ns.c. They are always combined
|
||||
with MS_REMOUNT, which currently does nothing in the kernel, but might which fail in the
|
||||
@ -52,9 +49,7 @@ Features:
|
||||
|
||||
* new dependency type to "group" services in a target
|
||||
|
||||
* add switch to journalctl to only show data from current boot
|
||||
|
||||
* change REquires=basic.target to RequisiteOverride=basic.target
|
||||
* change Requires=basic.target to RequisiteOverride=basic.target
|
||||
|
||||
* turn $NOTIFY_SOCKET back into an abstract namespace socket for
|
||||
compatibility with services which chroot()
|
||||
|
@ -209,6 +209,14 @@
|
||||
generated messages.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--this-boot</option></term>
|
||||
<term><option>-b</option></term>
|
||||
|
||||
<listitem><para>Show data only from
|
||||
local boot.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--new-id128</option></term>
|
||||
|
||||
|
@ -49,6 +49,7 @@ static bool arg_no_tail = false;
|
||||
static bool arg_new_id128 = false;
|
||||
static bool arg_quiet = false;
|
||||
static bool arg_local = false;
|
||||
static bool arg_this_boot = false;
|
||||
|
||||
static int help(void) {
|
||||
|
||||
@ -64,8 +65,9 @@ static int help(void) {
|
||||
" -o --output=STRING Change journal output mode (short, short-monotonic,\n"
|
||||
" verbose, export, json, cat)\n"
|
||||
" -q --quiet Don't show privilege warning\n"
|
||||
" --new-id128 Generate a new 128 Bit id\n"
|
||||
" -l --local Only local entries\n",
|
||||
" -l --local Only local entries\n"
|
||||
" -b --this-boot Show data only from current boot\n"
|
||||
" --new-id128 Generate a new 128 Bit id\n",
|
||||
program_invocation_short_name);
|
||||
|
||||
return 0;
|
||||
@ -92,6 +94,7 @@ static int parse_argv(int argc, char *argv[]) {
|
||||
{ "new-id128", no_argument, NULL, ARG_NEW_ID128 },
|
||||
{ "quiet", no_argument, NULL, 'q' },
|
||||
{ "local", no_argument, NULL, 'l' },
|
||||
{ "this-boot", no_argument, NULL, 'b' },
|
||||
{ NULL, 0, NULL, 0 }
|
||||
};
|
||||
|
||||
@ -100,7 +103,7 @@ static int parse_argv(int argc, char *argv[]) {
|
||||
assert(argc >= 0);
|
||||
assert(argv);
|
||||
|
||||
while ((c = getopt_long(argc, argv, "hfo:an:ql", options, NULL)) >= 0) {
|
||||
while ((c = getopt_long(argc, argv, "hfo:an:qlb", options, NULL)) >= 0) {
|
||||
|
||||
switch (c) {
|
||||
|
||||
@ -159,6 +162,10 @@ static int parse_argv(int argc, char *argv[]) {
|
||||
arg_local = true;
|
||||
break;
|
||||
|
||||
case 'b':
|
||||
arg_this_boot = true;
|
||||
break;
|
||||
|
||||
case '?':
|
||||
return -EINVAL;
|
||||
|
||||
@ -232,6 +239,25 @@ int main(int argc, char *argv[]) {
|
||||
goto finish;
|
||||
}
|
||||
|
||||
if (arg_this_boot) {
|
||||
char match[9+32+1] = "_BOOT_ID=";
|
||||
sd_id128_t boot_id;
|
||||
|
||||
r = sd_id128_get_boot(&boot_id);
|
||||
if (r < 0) {
|
||||
log_error("Failed to get boot id: %s", strerror(-r));
|
||||
goto finish;
|
||||
}
|
||||
|
||||
sd_id128_to_string(boot_id, match + 9);
|
||||
|
||||
r = sd_journal_add_match(j, match, strlen(match));
|
||||
if (r < 0) {
|
||||
log_error("Failed to add match: %s", strerror(-r));
|
||||
goto finish;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = optind; i < argc; i++) {
|
||||
if (path_is_absolute(argv[i])) {
|
||||
char *p = NULL;
|
||||
|
Loading…
Reference in New Issue
Block a user