Apache Pinot Docs
latest
Search
K

Managing Logs

Dynamic Log Levels

Pinot supports inspecting and modifying Log4J log levels dynamically in production environments through REST. This can often be helpful when debugging an issue that is transient in nature and restarting the server with new configurations files may alter the desired behavior.

Supported Operations

List All Loggers

GET /loggers
Parameter Type
Parameter Name
Description
Header
accept string
Setting to "accept: application/json" is recommended
Sample Usage:
$ curl -X GET -H "accept: application/json" localhost:8000/loggers
["root","org.reflections","org.apache.pinot.tools.admin"]

Fetch Specific Logger

GET /loggers/{loggerName}
Parameter Type
Parameter Name
Description
Header
accept string
Setting to "accept: application/json" is recommended
Path Parameter
loggerName string
The name of the logger (fully qualified path)
Sample Usage:
> curl -X GET -H "accept: application/json" localhost:8000/loggers/root
{"filter":null,"level":"INFO","name":"root"}

Set Logger Level

PUT /loggers/{loggerName}?level={level}
Parameter Type
Parameter Name
Description
Header
accept string
Setting to "accept: application/json" is recommended
Path Parameter
loggerName string
The name of the logger (fully qualified path)
Query Parameter
level string
the log level (such as DEBUG or INFO
Sample Usage
$ curl -X PUT -H "accept: application/json" localhost:8000/loggers/root?level=ERROR
{"filter":null,"level":"ERROR","name":"root"}

Downloading Component Logs

Pinot supports downloading logs directly over HTTP in situations where the operator may not have access to the container, but has access to the rest endpoints.
If the operator has access to the Controller, they can download log files from any one of the other components.

Supported Operations

List Available Log Files

GET /loggers/files
Parameter Type
Parameter Name
Description
Header
accept string
Setting to "accept: application/json" is recommended

Download a Log File

GET /loggers/download?filePath={filePath}
Parameter Type
Parameter name
Description
Header
accept string
Setting to "accept: application/octet_string" is recommended
Query Parameter
filePath string
The path to the file, can be obtained using GET /loggers/files

Remote Log APIs

These APIs are only supported on the Controller

List Log Files on All Instances

GET /loggers/instances
Parameter Type
Parameter Name
Description
Header
accept string
Setting to "accept": application/json" is recommended

List Log Files on a Specific Instance

GET /loggers/instances/{instanceName}
Parameter Type
Parameter Name
Description
Header
accept string
Setting to "accept": application/json" is recommended
Path Parameter
instanceName string
Indicates which instance to collect logs from

Download Remote Log From Given Instance

GET /loggers/instances/{instanceName}/download?filePath={filePath}
Parameter Type
Parameter Name
Description
Header
accept string
Setting to "accept: application/octet
Path Parameter
instanceName string
Indicates which instance to collect logs from
Query Parameter
filePath string
Indicates which file to download