OS X에서 실행 된 로깅을 활성화하려면 어떻게합니까?


35

OS X 10.6에서 실행 된 로깅을 활성화하려면 어떻게합니까?

제대로 시작하지 않는 새 데몬을 추가했습니다 (상태는 1).

문제를 디버깅하고 싶지만 launchd로그 를 찾을 수 없었습니다 /var/log/launchd.log.에 없습니다 .

답변:


26

나는 해결책을 찾았다

 sudo launchctl log level debug 

이 후

 tail -f /var/log/system.log

1
나는이 OS가 다른 것과 마찬가지로 관리자가 필요하다는 것을 깨달았습니다. "자세한 플래그가 어디에 WTF!" OSX는 확실하지만 다루기가 쉽지 않습니다. Thx +1
chiggsy

후속 작업 : OS X 10.7.2에서도 작동합니다. 감사.
Alan W. Smith

Leopard 서버에 문제가 있는데 출시 된 plist에 문제가 있다고 생각했습니다 (Snow Leopard에서 동일한 plist가 작동하지만). 나는이에 우연히 일어난 그것은 :) 매력처럼 작동
icasimpan

27
이것은 10.10 Yosemite 이후 더 이상 작동하지 않습니다. launchctl 버전 : Darwin System Bootstrapper 2.0.0 : 9 월 9 일 화요일 16:30:56 PDT 2014
JeanMertz

9
@JeanMertz-대안?
Umang

20

시작된 plist 파일에 다음 행을 포함하는 경우 프로세스가 시작되지 않고 프로세스를 로그하려고한다고 가정하십시오.

<key>StandardOutPath</key>
<string>/path/to/logfile.log</string>
<key>StandardErrorPath</key>
<string>/path/to/another_logfile.log</string>

프로세스를 다시로드하면 스크립트 내부에있는 로깅 또는 인쇄가 실행될 때마다이 두 파일 중 하나에 캡처됩니다. 파일을 회전시키는 것은 당신에게 달려 있습니다. 예상 한대로 두 인스턴스에서 동일한 파일을 사용하면 오류와 stdout이 모두 같은 위치에 기록됩니다.

시작 데몬 및 에이전트 작성의 시작된 작업 디버깅 섹션을 참조하십시오 .


17

OS X 10.11 (El Capitan)에서는 sudo launchctl debug <service-target> --stdout --stderr@peter가 제안한 파일 시스템 옵션을 사용하지 않으려는 경우 일회용 로깅을 사용 하도록 설정할 수 있습니다 .

물건의 제비의 현재 구현에서 다른 launchctl과는 <service-target>이상한의 종류이다. 예를 들어에 ~/Library/LaunchAgents/dev.localmon.plist"label" 이있는 로컬 서비스를 구성했다고 가정 해 봅시다 dev.localmon. 그것은 <service-target>입니다 gui/$UID/dev.localmon경우, $UID당신은 CLI에서이 작업을 실행하고 있기 때문에, 쉘 당신을 위해 보간 것, 사용자 ID입니다.

따라서 dev.localmon시작시 서비스가 중단되었다고 가정 하면 다음과 같이 호출 launchctl하여 프로세스의 stdout 및 stderr를 다음에 서비스를 시작할 때 (그리고 다음에 만) 쉘에 파이프 할 수 있습니다 .

sudo launchctl debug gui/$UID/dev.localmon --stdout --stderr

개방형 TTY와 함께 중단되므로 다른 터미널로 이동하여 다음을 실행하십시오.

launchctl start dev.localmon
# start is a legacy command and doesn't use the fancy new service-target notation

그리고, 제 1 단자 다시, 당신은 해야 출력을 참조하십시오. (이상하게도 서비스 프로세스가 종료 될 때 닫히지 않으므로 Ctrl-C를 사용해야합니다.)

Btw, PATH 또는 환경이 이전에 서비스를 중단 한 것으로 구성 파일을 수정 한 후에 launchctl unload ~/Library/LaunchAgents/dev.localmon.plist && launchctl load ~/Library/LaunchAgents/dev.localmon.plist는 문서의 purported uncache하위 명령이 다음과 같은 영향을 미치기 때문에 여전히 이전 2 단계 를 사용해야합니다 .

명령이 아직 구현되지 않았습니다.

애플의 사후 출시 전략을위한 Yay : "빠른 이동 및 중단"


sudo launchctl debug로 종료 Could not find domain for나를 위해
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.