In some cases it may be convenient to log all HTTP requests. This can be enabled by setting
the CONSOLE_DEBUG_LOGLEVEL environment variable to one of the following values:
0(default) uses no logging.1log single line per request for server-side errors (status-code 5xx).2log single line per request for client-side and server-side errors (status-code 4xx/5xx).3log single line per request for all requests.4log details per request for server-side errors (status-code 5xx).5log details per request for client-side and server-side errors (status-code 4xx/5xx).6log details per request for all requests.
A single line has the following information:
- Remote endpoint (IP + port) of the request. Note that reverse proxies may hide the actual remote endpoint of the client's browser.
- HTTP method and URL
- Status code of the response (websocket connections are hijacked, so no response is shown)
- Duration of the request
The detailed record (levels 4–6) adds every request and response header, one per line.
Detailed logging is meant for troubleshooting and still records operational data: bucket names, object keys and prefixes in URLs, user agents, client and proxy addresses, request identifiers, and header names. Treat the output as sensitive.
Credential-bearing values are redacted at every level, with the same rules audit logging uses
(pkg/logger/redact):
AuthorizationandProxy-Authorizationkeep only a recognized scheme (Bearer [REDACTED]); Console's own decrypted session bearer, which carries STS credentials, is therefore never written.Cookiekeeps cookie names and redacts every value;Set-Cookiekeeps the cookie name and the standard attributes (Path,Domain,Expires,Max-Age,Secure,HttpOnly,SameSite,Partitioned,Priority).X-Amz-Security-Token,X-Amz-Credential,X-Amz-Signature, the SSE-C customer key headers and their MD5 headers,X-Api-Key,X-Auth-Token,X-TokenandX-Csrf-Tokenare replaced entirely.- Query parameters
sts,sts_a,sts_s(session bootstrap),code,token,access_token,id_token,refresh_token,session_token,X-Amz-Security-Token,X-Amz-Signature,X-Amz-Credential,AWSAccessKeyIdandSignatureare redacted; parameter names are percent-decoded before matching, and a query that cannot be parsed is replaced as a whole. - The encoded segment of
/api/v1/download-shared-object/<segment>, which is a complete presigned URL, is redacted in debug lines and in the auditapi.pathfield. - A value that does not parse (an
Authorizationvalue without a recognized scheme, a malformed cookie pair, an unknownSet-Cookieattribute) is replaced entirely rather than partially kept.
The session identifier attached to audit entries and error logs (sessionID) is a stable, non-reversible
fingerprint of the session (s- followed by 32 hex characters), not the STS session token. With
CONSOLE_LOGGER_ANONYMOUS_ENABLE=on that fingerprint and remoteHost are hashed once more before they are emitted.