如何从代码中的一个地方记录所有 axios 调用
How to log all axios calls from one place in code
我正在将 axios 用于 React 应用程序,我想记录我在应用程序中的任何位置进行的所有 axios 调用。我已经通过 create 函数使用了一个全局的 axios 实例,并且我能够记录一个通用的 console.log。但是我想要更多信息,比如被调用的函数、参数等。
看起来您可以使用 "interceptor" 拦截所有请求,并在其中登录:https://github.com/mzabriskie/axios#interceptors
您可以尝试将 axios.request
函数包装在 Promise 中。
function loggedRequest(config) {
return new Promise((resolve, reject) => {
axios.request(config)
.then((res) => {
// log success, config, res here
resolve(res);
})
.catch(err => {
// same, log whatever you want here
reject(err);
})
})
}
执行此操作的最佳方法是拦截器。每个拦截器在 request/response 之前被调用。在这种情况下,日志拦截器将是。
axios.interceptors.request.use(request => {
console.log('Starting Request', JSON.stringify(request, null, 2))
return request
})
axios.interceptors.response.use(response => {
console.log('Response:', JSON.stringify(response, null, 2))
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
有关配置和自定义选项,请参阅 the docs。
这里有一个 MySQL 的 NPM 包,可以让你记录所有的 axios 请求 https://www.npmjs.com/package/axios-logger-mysql,我希望这对你有帮助。
当你在nodejs中发送请求时,你需要将日志显示到控制台。
我正在将 axios 用于 React 应用程序,我想记录我在应用程序中的任何位置进行的所有 axios 调用。我已经通过 create 函数使用了一个全局的 axios 实例,并且我能够记录一个通用的 console.log。但是我想要更多信息,比如被调用的函数、参数等。
看起来您可以使用 "interceptor" 拦截所有请求,并在其中登录:https://github.com/mzabriskie/axios#interceptors
您可以尝试将 axios.request
函数包装在 Promise 中。
function loggedRequest(config) {
return new Promise((resolve, reject) => {
axios.request(config)
.then((res) => {
// log success, config, res here
resolve(res);
})
.catch(err => {
// same, log whatever you want here
reject(err);
})
})
}
执行此操作的最佳方法是拦截器。每个拦截器在 request/response 之前被调用。在这种情况下,日志拦截器将是。
axios.interceptors.request.use(request => {
console.log('Starting Request', JSON.stringify(request, null, 2))
return request
})
axios.interceptors.response.use(response => {
console.log('Response:', JSON.stringify(response, null, 2))
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
有关配置和自定义选项,请参阅 the docs。
这里有一个 MySQL 的 NPM 包,可以让你记录所有的 axios 请求 https://www.npmjs.com/package/axios-logger-mysql,我希望这对你有帮助。
当你在nodejs中发送请求时,你需要将日志显示到控制台。