reactjs - the - Cómo registrar todas las llamadas de axios desde un lugar en código
laravel error 419 post (5)
Utilice axios-debug-log
-
npm install --save axios-debug-log
-
require(''axios-debug-log'')
antes de cualquier llamada a axios - Establecer la variable de entorno
DEBUG=axios
Por defecto, verás registros como los siguientes:
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
Consulte axios-debug-log para las opciones de configuración y personalización.
Estoy usando axios para una aplicación de reacción y me gustaría registrar todas las llamadas de axios que estoy haciendo en cualquier parte de la aplicación. Ya estoy usando una única instancia global de axios a través de la función crear y puedo registrar un console.log genérico. Sin embargo, me gustaría más información como la función que se llama, parámetros, etc.
Aquí hay un paquete NPM para MySQL que le permite registrar todas las solicitudes de axios https://www.npmjs.com/package/axios-logger-mysql , espero que esto ayude.
La mejor manera de hacer esto sería un interceptor. Cada interceptor se llama antes de una solicitud / respuesta. En este caso sería un interceptor de registro.
axios.interceptors.request.use(request => {
console.log(''Starting Request'', request)
return request
})
axios.interceptors.response.use(response => {
console.log(''Response:'', response)
return response
})
O algo por el estilo.
Es bueno que estés usando una nueva instancia de axios:
const api = axios.create({
timeout: 1000
})
De esa manera puedes llamar
api.interceptors[...]
Parece que puede interceptar todas las solicitudes utilizando un "interceptor" y registrarse dentro de él: https://github.com/mzabriskie/axios#interceptors
Puedes intentar envolver la función axios.request
en una Promesa.
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);
})
})
}