mirror of
https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api.git
synced 2024-11-25 05:21:28 +00:00
feat: add option to filter logs by unit or slice
This commit is contained in:
parent
a00aae1bee
commit
3c024cb613
|
@ -75,6 +75,10 @@ class Logs:
|
||||||
up_cursor: str | None = None,
|
up_cursor: str | None = None,
|
||||||
# All entries returned will be greater than this cursor. Sets lower bound on results.
|
# All entries returned will be greater than this cursor. Sets lower bound on results.
|
||||||
down_cursor: str | None = None,
|
down_cursor: str | None = None,
|
||||||
|
# All entries will be from a specific systemd slice
|
||||||
|
filterBySlice: str | None = None,
|
||||||
|
# All entries will be from a specific systemd unit
|
||||||
|
filterByUnit: str | None = None,
|
||||||
) -> PaginatedEntries:
|
) -> PaginatedEntries:
|
||||||
if limit > 50:
|
if limit > 50:
|
||||||
raise Exception("You can't fetch more than 50 entries via single request.")
|
raise Exception("You can't fetch more than 50 entries via single request.")
|
||||||
|
@ -82,7 +86,7 @@ class Logs:
|
||||||
list(
|
list(
|
||||||
map(
|
map(
|
||||||
lambda x: LogEntry(x),
|
lambda x: LogEntry(x),
|
||||||
get_paginated_logs(limit, up_cursor, down_cursor),
|
get_paginated_logs(limit, up_cursor, down_cursor, filterBySlice, filterByUnit),
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
|
@ -24,9 +24,18 @@ def get_paginated_logs(
|
||||||
up_cursor: str | None = None,
|
up_cursor: str | None = None,
|
||||||
# All entries returned will be greater than this cursor. Sets lower bound on results.
|
# All entries returned will be greater than this cursor. Sets lower bound on results.
|
||||||
down_cursor: str | None = None,
|
down_cursor: str | None = None,
|
||||||
|
# All entries will be from a specific systemd slice
|
||||||
|
filterBySlice: str | None = None,
|
||||||
|
# All entries will be from a specific systemd unit
|
||||||
|
filterByUnit: str | None = None,
|
||||||
):
|
):
|
||||||
j = journal.Reader()
|
j = journal.Reader()
|
||||||
|
|
||||||
|
if filterBySlice:
|
||||||
|
j.add_match("_SYSTEMD_SLICE=" + filterBySlice)
|
||||||
|
if filterByUnit:
|
||||||
|
j.add_match("_SYSTEMD_UNIT=" + filterByUnit)
|
||||||
|
|
||||||
if up_cursor is None and down_cursor is None:
|
if up_cursor is None and down_cursor is None:
|
||||||
j.seek_tail()
|
j.seek_tail()
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue