내 Mac에서 system.log를 따르고 있습니다.
tail -f -n 0 /var/log/system.log
하지만 그 로그에 쓰는 방법을 모르겠습니다. 그것은 기계의 기본 로그인 것 같습니다. 나는 시도했다:
logger foobar # didn't work
syslog -s -l error "message to send" # didn't work
Mac에서 system.log에 쓰는 방법을 아는 사람이 있나요?
고쳐 쓰다:
내가 실행하면 :log stream
그런 다음 다음을 사용하십시오.
logger -is -t krypted "Hello L"
스트림에는 표시되지만 /var/log/system.log
.
답변1
스트리밍 메시지는 바이너리 로그 파일의 일부입니다. Apple은 통합 로깅 시스템으로 전환하고 있으므로 최소한 기본적으로 로깅은 더 이상 동일한 방식으로 작동하지 않습니다. syslogd
구성 파일 중 하나 또는 둘 다를 통해 ASL(Apple System Logger)을 구성하려고 /etc/syslog.conf
시도 할 수도 있습니다 /etc/asl.conf
. ( 에 더 많은 ASL 구성 파일이 저장되어 있습니다 /etc/asl
.) 생성 방법을 알아보려면 매뉴얼 페이지를 참조해야 할 수도 있습니다. 특정 메시지에 대한 일반 텍스트 로그 파일. 이러한 설명서 중 일부는 man 1 log
, man 1 syslog
, 및 일 수 있습니다 man 5 syslog.conf
. man 8 syslog
아직 이 작업을 수행하는 방법을 정확히 파악하지 못했지만 사용자 지정 메시지를 생성하고 보고 "추적"할 수 있는 몇 가지 방법을 제공하고 싶습니다. (새 로깅 시스템을 구성하여 특정 메시지를 일반 텍스트 파일로 보내는 방법을 배우면 돌아와서 이 답변을 업데이트하겠습니다. 적어도할 수 있는일반 텍스트 파일이 에 존재하기 때문에 완료되었습니다 /var/log
. )
메시지를 사용 syslog -s
하고 보낼 수 있습니다 logger
. (이 -s
옵션은 로그 메시지를 에 보내며 syslogd
, syslog
더 많은 작업을 수행할 수 있습니다 logger
.) 유사한 방식으로 로그를 추적하는 쉬운 방법 tail
은 을 활용하는 것입니다 Console.app
. 프로그램을 열고 아래 나열된 로컬 컴퓨터에 커서를 놓습니다.장비. 검색 필드에 메시지를 보내는 데 사용된 프로그램 이름 syslog
또는 그 중 하나를 입력하세요 logger
. 다음으로 터미널을 열고 메시지를 보냅니다.
syslog -s "test message"
그러면 아래와 같이 메시지가 콘솔에 표시됩니다.
메시지는 로그에서 얻을 수 있습니다. 기본적으로 무시되는 행을 지정하려면 --info
및/또는 옵션을 사용하십시오 . 옵션에서 syslog 메시지를 보내는 프로세스를 지정합니다 .--debug
log
--predicate
log show --info --debug --predicate "process == 'logger'"
또는
log show --info --debug --predicate "process == 'syslog'"
와 유사한 효과를 얻으려면 tail
이 stream
명령을 사용하십시오.
log stream --info --debug --predicate "process == 'logger'"
또는
log stream --info --debug --predicate "process == 'syslog'"
tail
흐름을 시작한 후 그림에 표시된 것과 비슷한 방식으로 동작하는지 확인하기 위해 메시지를 보냅니다 .
이 명령은 syslog -s "test message"
메시지를 보내는 데 사용됩니다.