Export System Logs

This API is used to export the System Logs, the response will be a compressed zip archive containing the logs from the configured log directory. When running FusionAuth on Docker or other container service where logs are written to stdout and not written to the file system, this API will return an empty archive.

Request#

Global API Key Authentication
Export the System Logs
GET/api/system/log/export?dateTimeSecondsFormat={dateTimeSecondsFormat}&includeArchived=true&zoneId={zoneId}

When calling the API using a GET request you will send the export criteria on the URL using request parameters.

Request Parameters#

dateTimeSecondsFormatStringoptionalDefaults to 'See Description'

The format string used to format the date and time columns in the export result.

When this parameter is omitted a default format of M/d/yyyy hh:mm:ss a z will be used. See the DateTimeFormatter patterns for additional examples.

includeArchivedBooleanoptionalDefaults to falseAvailable since 1.43.0

Whether to include rotated, compressed logs in addition to the set of active logs in the export result. The default behavior is to only export the set of logs actively being written.

When this parameter is true, all available logs are exported. Additionally, if provided, the lastNBytes parameter is ignored.

lastNBytesLongoptional

The number of bytes to retrieve from the end of each of the system logs. When this value is -1, the entire log will be downloaded.

This parameter is ignored when includeArchived is true .

zoneIdStringoptional

The time zone used to adjust the stored UTC time in the export result.

For example:

America/Denver or US/Mountain

When this parameter is omitted the configured default report time zone will be used. See reportTimezone in the System Configuration API.

Global API Key Authentication
Export the System Logs
POST/api/system/log/export

When calling the API using a POST request you will send the export criteria in a JSON request body.

Request Body#

dateTimeSecondsFormatStringoptionalDefaults to 'See Description'

The format string used to format the date and time columns in the export result.

When this parameter is omitted a default format of M/d/yyyy hh:mm:ss a z will be used. See the DateTimeFormatter patterns for additional examples.

includeArchivedBooleanoptionalDefaults to falseAvailable since 1.43.0

Whether to include rotated, compressed logs in addition to the set of active logs in the export result. The default behavior is to only export the set of logs actively being written.

When this parameter is true, all available logs are exported. Additionally, if provided, the lastNBytes parameter is ignored.

lastNBytesLongoptional

The number of bytes to retrieve from the end of each of the system logs. When this value is -1, the entire log will be downloaded.

This parameter is ignored when includeArchived is true .

zoneIdStringoptional

The time zone used to adjust the stored UTC time in the export result.

For example:

America/Denver or US/Mountain

When this parameter is omitted the configured default report time zone will be used. See reportTimezone in the System Configuration API.

Example Request JSON

{
  "dateTimeSecondsFormat": "M/d/yyyy hh:mm:ss a z",
  "zoneId": "America/Denver",
  "lastNBytes": -1
}

Response#

The response for this API will contain a compressed zip of the system logs.

Response Codes
CodeDescription
200

The request was successful. The response will be a compressed archive byte stream with a "Content-Type" of "application/zip".

400The request was invalid and/or malformed. The response will contain an Errors JSON Object with the specific errors. This status will also be returned if a paid FusionAuth license is required and is not present.
401You did not supply a valid Authorization header. The header was omitted or your API key was not valid. The response will be empty. See Authentication.
500There was an internal error. A stack trace is provided and logged in the FusionAuth log files. The response will be empty.