내 로거 출력은 어디로 가고 있습니까?


0

아래 기능이 있습니다. 호출하면 stdout은 echo 문만 표시합니다. 분명히 함수가 성공적으로 호출되고 있습니다. 왜 stdout, stderr 또는 로그 파일로 인수를 읽지 않습니까?

#!/bin/bash

  function logit() {
  LOGLEVEL=$1
  TAG=$2
  PID=$3
  shift 3
  local MSG=$@
  logger -t $TAG -p $LOGLEVEL -i $PID $MSG 
}
logit crit randomly $$ this is a log

예상 : 값에 대한 LOGLEVEL, TAG, PID, MSG어딘가 출력한다. 왜 그렇지 않습니까? 어 Where 어?

$ uname -a

Darwin MacBook-Pro.local 15.6.0 Darwin Kernel Version 15.6.0: Wed May  2 21:04:22 PDT 2018; root:xnu-3248.73.10~1/RELEASE_X86_64 x86_64

이와 같은 값을 설정하면 LOGLEVEL=$1단순히 변수에 할당됩니다. 따라서보고 LOGLEVEL싶다면을 입력하십시오 echo $LOGLEVEL. 이것이 당신이 기대하는 것이 아닙니까?
JakeGould

@JakeG 내 질문은 "이 로그가 어디에 저장되어 있어야합니까?이 함수 대신"로거 "를 사용한다고 가정하고이 함수를 사용하여 로그를 저장하려면 어떻게해야합니까? man logger시스템 로그에 저장한다고 알려줍니다. (그림 참조 system.log)이 스크립트와 관련된 내용은 없습니다
Sam Dillard

@JakeGould 사용하도록 편집했습니다 logger. 혼란에 대해 죄송합니다.
Sam Dillard 2016 년

약간 혼란 스러웠다. macOS logger바이너리가 있습니다. 그러나 당신은 logit당신의 스크립트에 있습니다. 이것을 의미logit 합니까? 또는 다른 것?
JakeGould
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.