Google Functions : console.info, console.error 등과 로그 뷰어의 '심각도'의 관계

JavaScript의 Console API에는, 로깅으로 자주 사용하는 console.log 이외에, console.infoconsole.error 등, 로그에 「정보」나 「에러」라고 하는 색을 붙이는 메소드가 있습니다.

한편, Google Cloud Platform(GCP)의 로그 뷰어의 '심각도(SEVERITY)

그렇다면 Console API와 GCP의 '심각도'는 어떤 관계가 있습니까? 실험해 보았으므로 이 게시물에서는 그 결과를 전하고 싶습니다.

결론



먼저 결론을 보여줍니다. JavaScript의 Console API 메소드의 차이점은 기본적으로 GCP의 심각도에 영향을 미치지 않습니다. 다만, console.warnconsole.errorError 오브젝트를 로깅했을 경우에 한해, 심각도가 「ERROR」가 됩니다.
Error 오브젝트 이외를 로깅했을 경우


Console API
GCP 심각도


console.log
DEFAULT

console.info
DEFAULT

console.warn
DEFAULT

console.error
DEFAULT

Error 객체를 로깅하는 경우


Console API
GCP 심각도


console.log
DEFAULT

console.info
DEFAULT

console.warn
ERROR

console.error
ERROR


console.info, console.error 등이 로그 뷰어에서 어떤 "심각도"인지 확인



다양한 방법을 검증하기 위해 다음과 같은 함수를 준비했습니다.

index.js
exports.logging = (req, res) => {
  console.log('テキストをconsole.log')
  console.info('テキストをconsole.info')
  console.warn('テキストをconsole.warn')
  console.error('テキストをconsole.error')
  console.log(new Error('Errorオブジェクトをconsole.log'))
  console.info(new Error('Errorオブジェクトをconsole.info'))
  console.warn(new Error('Errorオブジェクトをconsole.warn'))
  console.error(new Error('Errorオブジェクトをconsole.error'))
  res.send('OK')
}

이것을 배포하고,
gcloud functions deploy logging --runtime=nodejs12 --trigger-http

실행해 보겠습니다.
curl https://asia-northeast1-${PROJECT}.cloudfunctions.net/logging

그러면 로그 뷰어에 다음과 같은 로그가 남았습니다.



이 결과를 확인하면, console.warnconsole.errorError 오브젝트를 로깅했을 경우는, 심각도가 ERROR 가 되어, 그 이외는 DEFAULT 가 된 것을 알 수 있습니다.

다음 읽기


  • Google Functions : Node.js에서 중요도가있는 로깅 - Qiita
  • Google Functions & Node.js : winston에서 높은 수준의 로깅을하는 방법 - Qiita
  • Google Functions & Node.js : bunyan에서 높은 수준의 로깅을하는 방법 - Qiita
  • 좋은 웹페이지 즐겨찾기