# Debug

## Envoy Admin Interface

Envoy has a built-in admin server that has a large amount of useful tools for debugging. The full abilities of this interface can be found in the [docs](https://www.envoyproxy.io/docs/envoy/latest/operations/admin), but some highlights are given here.

### Log Levels

Envoy has the ability to set different log levels for different components of the running system. To see how they're all currently set:

**NOTE** all examples below assume the admin interface is started on port 8001 (the default option). Adjust according to your configuration.

```bash
/app $ curl -X POST localhost:8001/logging
active loggers:
admin: info
assert: info
backtrace: info
client: info
config: info
connection: info
dubbo: info
file: info
filter: debug
grpc: info
hc: info
health_checker: info
http: info
http2: info
hystrix: info
lua: info
main: info
misc: info
mongo: info
quic: info
pool: info
rbac: info
redis: info
router: info
runtime: info
stats: info
secret: info
tap: info
testing: info
thrift: info
tracing: info
upstream: info
```

You can set log levels of "trace, debug, info, warning, error, critical, off" on the global state.

```bash
curl -X POST localhost:8001/logging?level=debug
```

Alternatively, you can set the level of just a specific logger with a format similar to the below. This one changes just the logger for the filters.

```bash
curl -X POST localhost:8001/logging?filter=debug
```
