Mac OS X에서 터미널에서 Console.app에 어떻게 로그인 할 수 있습니까?


8

/dev/consoleMac OSX 용 여러 스크립트에서 사용되는 것을 보았지만 어떻게 사용되는지 잘 모르겠습니다. Console.app을 확인했는데 테스트 명령 결과가 표시되지 않았습니다.

에코 테스트> / dev / console

거기에 인쇄되어 있으므로 어디로 가거나 어떻게 사용합니까?


@Qosmo. 이 질문은 슈퍼 유저에게 100 % 유효하며 마이그레이션 할 필요가 없습니다.
BinaryMisfit

유효한 것이 더 나은 서비스를 제공한다는 의미는 아닙니다. 왜 만들어 졌습니까? 어쨌든 그것은 단지 제안입니다 ...
용감한 초보자

답변:


7

/dev/console장치는 특히 관련이없는 콘솔 응용 프로그램입니다.

Mac OS X 10.6에서 콘솔 응용 프로그램에는 일반 로그 파일 (예 :의 파일 /var/log/)과 (Apple 확장) syslog 기능을 통해 기록 된 메시지의 두 가지 종류의 데이터 소스가 있습니다 .

모니터링하려는 로그 파일이있는 경우 파일 > 열기… 메뉴 항목 (⌘O)을 사용하여 콘솔 에서 파일을 볼 수 있습니다 .
참고 : 콘솔 의 파일 목록 에서 파일을 제거하는 유일한 방법 은 파일 > 휴지통으로 이동 메뉴 항목 (⌘⌫) 을 사용하는 것 같습니다 . 콘솔 에서 파일보기를 중단하려면 휴지통에서 파일을 꺼낼 준비를하십시오 .

당신이 사용할 수있는 시스템 로그 syslog 기능에 메시지를 보내도록 명령 줄 프로그램을.

syslog -s Your message goes here. \(quote special chars for the shell'!)'

그러나 기본 구성에서이 메시지는 "레벨"이 너무 낮아 중요하지 않기 때문에 콘솔 보기 에 표시되지 않습니다 . 이 초기 필터링은 syslogd에 의한 것 입니다. asl.confsyslog.conf파일로 구성됩니다 . 기본 구성은 수준이 너무 낮 으면 (그리고 syslog -s기본적으로 가장 낮은 수준) 대부분의 메시지를 저장하지 않습니다 . 콘솔syslogd 에 의해 저장된 메시지 만 표시 할 수 있습니다 .

다음 -l옵션 을 사용하여 레벨 필드의 값을 변경할 수 있습니다 .

syslog -s -l notice This message should show up in \"All Messages\" \
  with a Facility of syslog.

notice수준은의 (기본) 가장 낮은 수준이다 는 syslogd는 대부분의 메시지를 저장합니다.

이와 같이 생성 된 메시지는 콘솔 의 내장 된 "모든 메시지"데이터베이스 검색에 표시됩니다
(파일 All Messages.aslquery/Applications/Utilities/Console.app/Contents/Resources/ASLQueries/기술 필드는 빈 필드가 비어있는 문자열을 "포함"하는 메시지로 기술적으로 제한하지만이 조건은 모든 시설에서 거의 충족됩니다) 값).

콘솔 의 내장 "콘솔 메시지"데이터베이스 검색에 메시지를 표시 하려면 좀 더 구체적이어야합니다. 그것은 단지 쇼 (저장) 등호하는 시설 필드가 메시지 com.apple.console(파일 참조 Console Messages.aslquery에를 /Applications/Utilities/Console.app/Contents/Resources/ASLQueries/). 기능 필드를 설정하는 옵션 으로 syslog 를 사용하여 이러한 메시지를 생성 할 수 있습니다 -k.

syslog -s -k Facility com.apple.console \
          -k Level notice \
          -k Message 'This will show up in "Console Messages"'

를 사용할 때 -k모든 옵션과 메시지 자체는 -k key value인수 세트로 지정해야합니다 ( -l레벨을 설정하는 데 사용할 수 없음 ). 즉, 메시지 필드의 값이 될 수 있도록 메시지에 단일 인수를 넣어야합니다.


그렇다면 "logger"명령은 무엇입니까? syslog의 일부입니까?
cwd

@cwd : syslog 기능도 사용합니다. Apple의 syslog에는 syslog (3)asl (3)의 두 가지 주요 인터페이스가 있습니다. 전자는 요즘 대부분의 유닉스 시스템에서 상당히 표준이다. 로거가 사용합니다. 후자는 Apple 전용 확장입니다. 시스템 로그 명령을 사용합니다. 콘솔 은 두 메시지를 모두 볼 수 있지만 "콘솔 메시지"검색에는 Apple 확장 기능 값 ( 로거 가 만들 수 없음)이 필요합니다.
Chris Johnsen

7

나는 사용한다:

logger Hello World

항상 나를 위해 작동합니다. "hello world"를 syslog에 덤프하면 console.app에 표시됩니다.


0

긍정적이지 않지만 로그인 창의 사용자 이름 필드에> console을 입력하면 호출 된 장치 일 수 있습니다. 위를 입력하면 CLI가 덤프됩니다.


0

콘솔 응용 프로그램에서 볼 수 있도록 선택한 파일에 쓸 수 있습니다.

사용자 레벨에 대한 로깅을 원할 경우 :

echo "test" > /Users/$USER/Library/Logs/your_script.log

또는 모든 사용자에게로드 된 항목 :

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