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


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.