API logging in Kong
Many plugins are available in Kong to log requests to multiple targets. A target is a system that collects the log and persists it somewhere. These are the important plugins available for logging:
- File log
- Syslog
- HTTP log
The first one is file logging. If we need the Kong server to store the request and response logs in the form of JSON to a file, use this plugin. We should call on Kong's admin REST API (http://localhost:8001/apis/myapi/plugins
) to do that:
Hit the Send
button and the gateway returns the response, like this:
{ "created_at": 1509202704000, "config": { "path": "/tmp/file.log", "reopen": false }, "id": "57954bdd-ee11-4f00-a7aa-1a48f672d36d", "name": "file-log", "api_id": "795409ae-89ae-4810-8520-15418b96161f", "enabled": true }
It basically tells Kong that, for the given API called myapi
, log every request to a file called /tmp/file.log
. Now, make one more request for the health check (http://localhost:8000/api/v1/healthcheck
) to the API gateway...