我正在使用axios作为反应应用程序,我想记录我在应用程序中的任何位置进行的所有axios调用.我已经通过create函数使用了一个axios的全局实例,并且我能够记录一个通用的console.log.但是,我想要更多信息,如函数被调用,参数等.
执行此操作的最佳方法是拦截器.在请求/响应之前调用每个拦截器.在这种情况下,日志拦截器将是.
axios.interceptors.request.use(request => { console.log('Starting Request', request) return request }) axios.interceptors.response.use(response => { console.log('Response:', response) return response })
或者那种效果.
你正在使用一个新的axios实例是很好的:
const api = axios.create({ timeout: 1000 })
那样你就可以打电话了
api.interceptors[...]
axios-debug-log
npm install --save axios-debug-log
require('axios-debug-log')
在任何axios呼叫之前
设置环境变量 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
有关配置和自定义选项,请参阅文档。