Journalctl에게 실제로 두 가지 우선순위를 모두 표시하도록 하려면 어떻게 해야 합니까?

Journalctl에게 실제로 두 가지 우선순위를 모두 표시하도록 하려면 어떻게 해야 합니까?

나는 단지 보여주고 싶고 critinfo사이의 내용은 보여주지 않고 싶다.

나는 시도했다:

journalctl -p 2..2 -p 6..6

그러나 이것은 작동하지 않습니다. 두 번째 매개변수가 첫 번째 매개변수보다 우선 적용되는 것 같습니다.

다음 코드는 구문 오류를 생성합니다.

journalctl -p 2,6

사이에 값이 없는 두 가지 우선순위만 검색하는 방법은 무엇입니까?

나는 이것보다 더 깨끗한 해결책을 찾고 있습니다.

journalctl -o json | jq --argjson p '{"2":"CRIT","6":"INFO"}' --raw-output 'select(.PRIORITY == "2" or .PRIORITY == "6") | "\(.__REALTIME_TIMESTAMP | tonumber / 1000 / 1000 | strflocaltime("%Y-%m-%d %H:%M:%S")) \($p[.PRIORITY]) \(.MESSAGE)"'

답변1

다음 필드를 이미 알고 있으므로 이를 원시 필터로 지정하십시오.

journalctl PRIORITY=2 + PRIORITY=6

필터 구문은 표현력이 매우 뛰어나지는 않지만 +.(예: journalctl A B C + D E"(A && B && C) || (D && E)"를 의미)을 지원합니다.

관련 정보