시스템 단위 로그를 따르는 방법은 무엇입니까?

시스템 단위 로그를 따르는 방법은 무엇입니까?

실행 중인 systemd 장치가 있고 해당 장치의 로그를 따르고 싶습니다.

다음을 사용하여 장치의 로그를 표시할 수 있다는 것을 알고 있습니다.

journalctl -u my_unit.service

하지만 이는 현재 로그를 따르지 않고 인쇄만 합니다.

systemd다음을 사용하여 로그를 따라갈 수도 있다는 것을 알고 있습니다 .

journalctl -f

하지만 이는 알려진 모든 로그를 따라 출력을 스팸하므로 관심 있는 항목을 검색해야 합니다.

임시 솔루션은 출력을 필터링하기 위해 로그를 따라 파이핑하는 것 같지만 그다지 체계적인 솔루션은 아닙니다.

journalctl -f | grep "what i'm interested in"

특정 유닛의 로그를 추적하는 명령어는 없나요?

시도했지만 작동하지 않은 것:

journalctl -uf my_unit.service

답변1

나는 인수를 잘못된 순서로 사용하고 있음을 발견했습니다. 실제로 다음을 사용하여 단일 장치에 대한 로그를 따라갈 수 있습니다.

journalctl -fu my_unit.service

기타 작업 변형:

journalctl -f -u my_unit.service
journalctl -u my_unit.service -f

에서journalctl수동:

-u,--unit=UNIT|PATTERN

    지정된 시스템 장치에 대한 메시지 표시UNIT(예: 서비스 단위) 또는 일치하는 단위에 대해PATTERN. 패턴이 지정되면 저널에 있는 단위 이름 목록이 지정된 패턴과 비교되어 일치하는 모든 항목이 사용됩니다. 각 단위 이름에 대해 지정된 단위의 코어 덤프에 대한 메시지 및 systemd의 메시지에 대한 추가 일치와 함께 단위의 메시지에 대한 일치 항목(" ")이 추가됩니다 ._SYSTEMD_UNIT=UNIT

    이 매개변수는 여러 번 지정할 수 있습니다.

-f, --follow

    가장 최근의 저널 항목만 표시하고 저널에 추가되는 새 항목을 계속해서 인쇄합니다.

관련 정보