reactjs 액트 코드에서 한 곳에서 모든 액시스 호출을 로그하는 방법



리 액트 velopert (4)

여기에 MySQL 용 NPM 패키지가 있습니다. 모든 axios 요청을 https://www.npmjs.com/package/axios-logger-mysql 기록 할 수 있습니다. 도움이 되었으면합니다.

내가 반응 응용 프로그램에 axios를 사용하고 내가 appios 어디서나 만들고있는 모든 axios 호출을 기록하고 싶습니다. 나는 이미 생성 함수를 통해 액시 얼의 단일 글로벌 인스턴스를 사용하고 있으며 일반 console.log를 로그 할 수 있습니다. 그러나 함수 호출, 매개 변수 등 자세한 정보를 원합니다.


Answer #1

axios-debug-log

  1. npm install --save axios-debug-log
  2. axios 호출 전에 require('axios-debug-log') 하십시오.
  3. 환경 변수 DEBUG=axios 설정하십시오.

기본적으로 다음과 같은 로그가 표시됩니다.

  axios POST /api/auth/login +0ms
  axios 200  (POST http://localhost:8080/api/auth/login) +125ms
  axios POST /api/foo +0ms
  axios 200  (POST http://localhost:8080/api/foo) +15ms

구성 및 사용자 정의 옵션에 axios-debug-log 를 참조하십시오.


Answer #2

이를 수행하는 가장 좋은 방법은 인터셉터 일 것입니다. 각 인터셉터는 요청 / 응답 전에 호출됩니다. 이 경우 로깅 인터셉터가됩니다.

axios.interceptors.request.use(request => {
  console.log('Starting Request', request)
  return request
})

axios.interceptors.response.use(response => {
  console.log('Response:', response)
  return response
})

또는 그 효과에 대한 것.

축삭의 새로운 인스턴스를 사용하는 것이 좋습니다.

const api = axios.create({
  timeout: 1000
})

당신이 전화 할 수있는 그런 식으로

api.interceptors[...]





axios