OS X 시스템 로그에서 메시지를 필터링하는 방법이 있습니까?


2

OS X 시스템 로그에서 메시지를 필터링하는 방법이 있습니까?

Lion을 실행하는 오래된 MacBook의 로그를 살펴보고 있습니다.

사용되지 않는 서비스에서 10 초마다 오류 메시지가 표시됩니다.

com.apple.launchd.peruser.503[154] (de.novamedia.VodafoneDeviceObserver[1386]): posix_spawn("/Library/Application Support/Vodafone/NML2NDeviceObserver.app/Contents/MacOS/NML2NDeviceObserver", ...): No such file or directory

실제 앱은 오랫동안 사라졌으며 오류 메시지를 생성하는 시작 서비스였습니다 (최근 5 년 동안!)

답변:


2

가독성을 높이기 위해 콘솔 로그를 복잡하게 만드는 오류 메시지 를 숨기려면 문제가되는 이벤트 메시지 중 하나를 선택하여 쉽게 수행 할 수 있습니다. 그런 다음 콘솔 도구 모음에서 '발신자 무시'를 클릭하십시오. 그러면 해당 메시지가 보이지 않게됩니다. 더 이상 사용되지 않는 드라이버 문제를 해결하기 전까지는 이벤트 메시지가 계속 생성되지만 콘솔에는 표시되지 않습니다. 더 많은 정보를 볼 여기여기 .


이것은 유망한 것처럼 보였지만 '발신자 무시'는 회색으로 표시됩니다. 발사를 차단하는 것이 의미가 없을 것입니다. 오류 메시지는 com.apple.launchd.peruser.503[154] (de.novamedia.VodafoneDeviceObserver[1386]): posix_spawn("/Library/Application Support/Vodafone/NML2NDeviceObserver.app/Contents/MacOS/NML2NDeviceObserver", ...): No such file or directory실제 앱이 오랫동안 사라졌으며 오류 메시지를 생성하는 시작 서비스 일뿐입니다 (최근 5 년 동안)
Milliways

1

LaunchAgents, LaunchDaemons 및 / 또는 StartupItems 폴더에서 구식 Vodafone 드라이버를 찾아 제거하려고 했습니까?

다음 위치에서 살펴보십시오.

  1. ~ / 라이브러리 / LaunchAgents
  2. / 라이브러리 / LaunchAgents
  3. / 라이브러리 / 런치 데몬
  4. / 시스템 / 라이브러리 / LaunchAgents
  5. / 시스템 / 라이브러리 / LaunchDaemons

자세한 내용은 여기 를 참조하십시오.


문제는 시작 서비스를 비활성화하는 방법이 아니라 로그 필터링
Milliways

그 서비스는 OBSOLETE이며 지난 5 년 동안 오류가 발생했다고합니다. 따라서 로그를 필터링하는 것만으로 (문제를 가리는) 사용하지 않는 서비스를 제거하여 오류의 원인을 해결할 수 있습니다. 물론, 그것은 전적으로 당신에게 달려 있습니다. 죄송합니다. 도와 드릴 수 없습니다. 다음에 질문 할 때 더 잘 알게 될 것입니다.
user1082

도와 주셔서 감사하지만 1 행에있는 질문을 읽는 것이 좋습니다. 참고로 오래된 Mac을 수리하고있었습니다. 통나무를 보자 마자 문제의 서비스를 중단했습니다. 내가하고 싶었던 것은 다른 이유로 모든 관련없는 세부 사항없이 로그를 읽는 것입니다.
Milliways

사용자 1082. 나는 당신을 느낀다. 이것이 바로이 사용자에게 필요한 도움입니다. 죽은 LaunchAgent를 제거하십시오. 내 경우에는 여전히 사용중인 프로그램이 있습니다. 내 경우에는 숨기려는 다른 대답이 내가 필요한 것입니다. 두 답변 모두 감사합니다. 우리가 아아를 돕는 사람들이 항상 감사하는 것은 아닙니다.
Foliovision

0

이 항목으로 /var/log/system.log새 파일을 만들어 로그 항목을 성공적으로 필터링했습니다./etc/asl/custom.cleanup.conf

# Ignore some noisy log entries.

? [CA= Message Google Chrome He] file /dev/null
? [CA= Message Google Chrome He] claim

? [CA= Message Time to encode state for window] file /dev/null
? [CA= Message Time to encode state for window] claim

제외하려는 특정 로그 항목과 일치하도록 필터를 조정합니다. 위의 필터는 제거하려는 로그 항목과 일치합니다 (아래 섹션).

설정 파일이 생성되면 다시 시작 (해당 디렉토리에 루트 권한을 수정해야 주) syslog

sudo launchctl unload /System/Library/LaunchDaemons/com.apple.syslogd.plist
sudo launchctl load /System/Library/LaunchDaemons/com.apple.syslogd.plist

이들은 제외하려는 로그 항목입니다.

Aug 20 10:38:54 strike iTerm2[11929]: Time to encode state for window <PseudoTerminal: 0x7ff611223344 tabs=2 window=<PTYWindow: 0x7ff611223344 frame=NSRect: {{-0, 6}, {1914, 1051}} title=1. sudo alpha=1.000000 isMain=1 isKey=1 isVisible=1 delegate=0x7ff611223344>>: 0.01158303022384644

Aug 20 10:38:56 strike kernel[0]: Google Chrome He[72873] triggered unnest of range 0x7fff11223344->0x7fff11223344 of DYLD shared region in VM map 0x84d623d211223344. While not abnormal for debuggers, this increases system memory footprint until the target exits.

syslog에 쓸 수없는 것에 대해 불평 /dev/null하지만 필터링 된 항목은 /var/log/system.log의도 한 결과 에서 제외됩니다 .

Aug 20 11:36:31 strike syslogd[74699]: Disabling module custom.cleanup.conf writes to /dev/null following 6 failures (Operation Failed)

특히 필터 당 두 줄이 필요하지 않은 경우이를 구성하는 더 깨끗한 방법에 대해 듣고 싶습니다. :)


나는 이것을 "더 나은"방법으로하고자하는 당신과 함께 있습니다. 그러나이 방법은 많은 로그 스팸을 걸러 내기 위해 훌륭하게 작동합니다.
Michael

이것을```# Spotify의 P2P 패킷에 대한 mDNSResponder 보고서를 무시합니까? [CA = 메시지 알 수없는 DNS 패킷 유형 6f74] 무시? [CA = 메시지 알 수없는 DNS 패킷 유형 6f74] 주장```Spotify P2P 패킷에 대한 mDNSResponder 불만을 필터링합니다. 메모 ignore대신을 file /dev/null; 파일은 일반 파일이어야합니다. 그렇지 않으면 언급 된 오류가 기록됩니다. 따라서 "무시"는 더 깔끔한 방법입니다.)
RJVB

@Chris Burgess, /etc/asl/custom.cleanup.conf어딘가에 기록되어 있습니까?
1.61803

나는 문서를 찾을 수없고 그 기계를 가지고 있지 않다. 아마도 내가 포함 /etc/asl.conf했거나 디렉토리가 이미 같은 것으로로드 되었습니까?
Chris Burgess

@ Chris Burgess, 모듈이 10.9 이상인 것 같습니다. 자세한 내용은 내 대답을 참조하십시오.
1.61803

0

asl.conf매뉴얼 페이지는 형태로 쿼리 행동 규칙을 포함 할 수 있음을 명시

? query action …

그리고 그 query형식을 가지고

[operator key value]

? [= Sender foobar] [<= Level error] notify com.apple.foobar
  op   key   value   op  key   value
  -----query 1----- -----query 2---- ---------action--------

같은 출처에서 (굵은 글씨는 내 것입니다)

ignore           Causes a matching message to be ignored in all **subsequent** matching rules.

이전에 사용 된 구성 syslog.conf은 이제 asl.conf주석 아래에 있습니다.

# Flat file configurations formerly in syslog.conf

system.log 에서 Console.app메시지를 무시 하려면 위의 주석 전에 메시지를 무시하는 규칙을 사용해야한다는 것을 이해합니다 .

개질제는 실시 예 S로부터의 문자열과 일치하는 메시지를 무시한다 SIMBL Agent.

? [= Sender SIMBL Agent] [S= Message warning: failed to get scripting definition from] ignore
  op -key-- ---value---  mod --key-- --------------------value-----------------------
  --------query 1------- -----------------------query 2------------------------------- action

규칙을 추가 한 후로 데몬을 다시 시작하십시오 sudo killall HUP syslogd.

OS X 10.8.5에서 성공적으로 테스트되었습니다.

최신 정보

모듈은 10.9에 등장한 것으로 보입니다 ( 여기 참조) .

/ etc / asl 디렉토리가 존재하면 syslogd 및 aslmanager가 포함 된 각 파일을 읽습니다. 이러한 파일은 asl.conf와 동일한 형식이어야합니다. 각 파일은 파일 이름으로 식별되는 독립적 인 모듈을 구성합니다. 모듈은 독립적으로 활성화 또는 비활성화 될 수 있습니다. 각 모듈은 수신 된 메시지에 대한 자체 규칙 세트를 지정할 수 있습니다. 자세한 내용은 ASL 모듈 섹션을 참조하십시오.

따라서 필터를 별도의 파일로 구성 할 수 있습니다. 그래도 테스트하지 않았습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.