Request Log
The artifactory-request.log file captures the requests that are incoming to Artifactory.
The request log file pattern contains a list of pipe ("|") separated values. The file pattern will contain the same number of columns; if a value is missing, it will be empty.
Request log file record structure
Timestamp | Trace ID | Remote Address | Username | Request method | Request URL | Return Status | Request Content Length | Response Content Length | Request Duration | Request User Agent
Request log file record sample
2025-06-24T18:11:49.215Z|66ac318485bd33a6|127.0.0.1|anonymous|POST|/ui/auth/loginRelatedData|200|17|45|3|Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36
Outbound Request Log(artifactory-request-out.log)
The artifactory-request-out.log file captures the outgoing requests from Artifactory.
Request log file record structure
Timestamp | Trace ID | Remote Repository Name | Username | Request method | Request URL | Return Status | Request Content Length | Response Content Length | Request Duration
Request log file record sample
2025-06-16T09:45:55.244Z|68c1731d2a1ed618|remote-npm||GET|https://registry.npmjs.org/nginx|200|0|0|30
Here is an explanation of all the common HTTP status codes and how to debug Artifactory issues based on these codes:
200 OK
This status code indicates that the request has succeeded. The response body will contain the requested data.
Example:
When trying to download a file from Artifactory using a URL, you receive a 200 OK response.
$ curl https://artifactory.url/artifactory/api/system/ping
Log entry:
2025-06-24T19:34:28.682Z|1ae8c100b7c9dca2|127.0.0.1|testuser|GET|/api/system/ping|200|-1|0|14|curl/8.7.1
201 Created
This status code indicates that the request has been fulfilled and a new resource has been created.
Example: When uploading a file to Artifactory using the Artifactory REST API, you receive a 201 Created response.
$ curl -X PUT -u "testuser:testpassword" -T example.txt "https://artifactory.url/artifactory/example-repo-local/example.txt"
{
"repo" : "example-repo-local",
"path" : "/example.txt",
"created" : "2025-06-24T19:43:31.065Z",
"createdBy" : "testuser",
"downloadUri" : "https://artifactory.url/artifactory/example-repo-local/example.txt",
"mimeType" : "text/plain",
"size" : "0",
"checksums" : {
"sha1" : "da39a3ee5e6b4b0d3255bfef95601890afd80709",
"md5" : "d41d8cd98f00b204e9800998ecf8427e",
"sha256" : "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
"originalChecksums" : {
"sha256" : "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
"uri" : "https://artifactory.url/artifactory/example-repo-local/example.txt"
}
Log entry:
2025-06-24T19:43:31.090Z|03796028ba594648|127.0.0.1|testuser|PUT|/example-repo-local/example.txt|201|0|0|50|curl/8.7.1
204 No Content
This status code indicates that the request has succeeded, but there is no data to return in the response body.
Example:
When deleting a file from Artifactory using the Artifactory REST API, you receive a 204 No Content response. There is no response body because the file has been successfully deleted.
$ curl -X DELETE -u "testuser:testpassword" "https://artifactory.url/artifactory/example-repo-local/example.txt"
Log entry:
2025-06-24T19:44:22.471Z|2253513e66e8e39a|127.0.0.1|testuser|DELETE|/example-repo-local/example.txt|204|-1|0|115|curl/8.7.1
206 Partial Content:
This status code indicates that the server is returning a partial response, such as when downloading a large file in chunks.
Example: While serving the large-sized artifact as a response to the client, such as Nginx, Artifactory will log this status code.
304 Not Modified
This status code indicates that the requested resource has not been modified since the last time it was accessed.
Example: When accessing a file from Artifactory that has not been modified since it was last accessed, you receive a 304 Not Modified response.
400 Bad Request
This status code indicates that the request is malformed or invalid. A probable reason for a 400 error could be due to a misconfiguration in the reverse proxy layer
Example: When trying to upload a file to Artifactory using the Artifactory REST API with an incorrect content type, you receive a 400 Bad Request response.
405 Method Not Allowed
The HTTP status code 405 indicates that the server (in this case, Artifactory) has received a request method that it does not support for the target resource.
Example: If we try to send a POST request to a resource that only accepts GET requests, Artifactory will respond with a 405 error.
curl -u "testuser:testpassword" -X POST "https://artifactory.url/artifactory/api/system/ping"
{
"errors" : [ {
"status" : 405,
"message" : "Method Not Allowed"
} ]
} Log entry:
2025-06-24T19:47:18.428Z|04ed422e48e116af|127.0.0.1|testuser|POST|/api/system/ping|405|0|0|4|curl/8.7.1
401 Unauthorized
This status code indicates that the request lacks valid authentication credentials.
Example: When trying to access a resource in Artifactory without providing valid authentication credentials, we receive a 401 Unauthorized response.
$ curl "https://artifactory.url/artifactory/api/system/version"
{
"errors" : [ {
"status" : 401,
"message" : "Authentication is required"
} ]
}
Log entry:
2025-06-24T19:48:58.122Z|03282fe3c0f4c85d|127.0.0.1|non_authenticated_user|GET|/api/system/version|401|-1|0|2|curl/8.7.1
403 Forbidden
This status code indicates that the request was authenticated but is not authorized to access the requested resource. Ensure that the authenticated user has the necessary permissions to access the resource, such as the correct role or permission in Artifactory.
Example: When trying to access a resource in Artifactory with an authenticated user that lacks the necessary permissions, you receive a 403 Forbidden response.
$ curl -X DELETE -u "non-admin-user:testpassword" "http://artifactory.url/artifactory/example-repo-local"
{
"errors" : [ {
"status" : 403,
"message" : "Not enough permissions to delete content of repository 'example-repo-local' (by user: 'non-admin-user'). This requires admin privileges."
} ]
} Log entry:
2025-06-25T12:23:33.026Z|5332294b0fb8db68|127.0.0.1|non-admin-user|DELETE|/example-repo-local|403|-1|0|4|curl/8.7.1
404 Not Found
This status code indicates that the requested resource does not exist. Ensure that you are using the correct URL and that the resource exists in Artifactory.
Example: When trying to delete a file from Artifactory using a URL that does not exist, you receive a 404 Not Found response.
$ curl -X DELETE -u "testuser:testpassword" "https://artifactory.url/artifactory/example-repo-local/nofile.txt"
{
"errors" : [ {
"status" : 404,
"message" : "Could not locate artifact 'example-repo-local:nofile.txt' (Nothing to delete)."
} ]
}
Log entry:
2025-06-25T12:26:04.752Z|7f426b5b2f0e1c7f|127.0.0.1|testuser|DELETE|/example-repo-local/nofile.txt|404|-1|0|11|curl/8.7.1
409 Conflict
This status code indicates that the request conflicts with the current state of the resource, such as attempting to upload a file that already exists or doesn’t adhere to the rules defined in the configuration.
Example: When trying to upload a snapshot artifact to a release maven repository in Artifactory, you receive a 409 Conflict response.
$ curl -X PUT -utestuser:testpassword https://jpd.local/artifactory/test-libs-snapshot-local/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.jar -T ./maven-clean-plugin-2.5.jar
{
"errors" : [ {
"status" : 409,
"message" : "The repository 'test-libs-snapshot-local' rejected the resolution of an artifact 'test-libs-snapshot-local:org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.jar' due to conflict in the snapshot release handling policy."
} ]
}
Log entry:
2025-06-25T12:29:01.572Z|19443ebdbh4e9i5p|127.0.0.1|testuser|PUT|/test-libs-snapshot-local/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.jar|409|132|0|34|curl/8.7.1
499 Client Closed Request:
This status code is not a standard HTTP status code and is specific to Nginx. It indicates that the client closed the connection before the server could send a response. This can happen if the client times out or cancels the request while it is still in progress.
Example: When downloading a large file from Artifactory, you receive a 499 Client Closed Request response. Check the client-side connection and ensure that it is stable and has enough bandwidth to handle the download. You can also try increasing the proxy_read_timeout and proxy_send_timeout values in the Nginx configuration file to allow more time for the download to complete.
500 Internal Server Error
This status code indicates an internal error with the application server, i.e, Artifactory. In order to further understand the issue, you may need to validate the relevant application service log files. Example: artifactory-service.log, access-service.log etc.
Example: When trying to access Artifactory, you receive a 500 Internal Server Error response. The response body may contain a message indicating that there was an internal server error within Artifactory. To debug this error, check the Artifactory logs for any error messages or stack traces that may indicate the cause of the error.
Scenario:
Considering a scenario where a filestore entry is either corrupted or deleted for an artifact. If we execute a GET request to download the artifact, we encounter a 500 Internal Server Error in the artifactory-request.log.
curl -utestuser:testpassword https://jpd.local:XXXX/artifactory/example-repo-local/index.yaml -vvv
* Host jpd.local:XXXX was resolved.
* Connected to jpd.local (X.X.X.X) port XXXX
* SSL certificate verify ok.
...
* Request completely sent off
< HTTP/1.1 500
...
< X-Artifactory-Filename: index.yaml
< Content-Disposition: attachment; filename="index.yaml"; filename*=UTF-8''index.yaml
<
* transfer closed with 69 bytes remaining to read
* Closing connection
curl: (18) transfer closed with 69 bytes remaining to read
Please find the sample log line below:
2025-12-30T18:19:16.588Z|85e4e9ad52518d51a3d1e2f9c5cf2643|34.94.86.33|admin|GET|/example-repo-local/index.yaml|500|-1|69|135|curl/7.68.0
503 Service Unavailable
This status code indicates that the server is temporarily unavailable or overloaded and cannot handle the request. This can occur if the server is undergoing maintenance, experiencing high traffic, or has exhausted its resources.
Example: When accessing Artifactory, you receive a 503 Service Unavailable response. Check the Artifactory logs for any errors or warning messages that may indicate the cause of the issue. You can also check the server's resource usage, such as CPU and memory usage, to see if the server is overloaded. If the issue persists, try restarting the Artifactory service or increasing the server resources. Additionally, you can configure a load balancer to distribute the traffic across multiple Artifactory instances to prevent overloading.
In general, when encountering HTTP status codes that indicate errors, it's a good idea to check the Artifactory logs for more information on the specific issue. Artifactory logs can provide additional details on the specific error and can help you identify the root cause of the issue