[
https://issues.apache.org/jira/browse/SLING-5459?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Chetan Mehrotra updated SLING-5459:
-----------------------------------
Description:
Sling Log Tracer currently provides support for fine grained control of
enabling logs for specific request. To make this log more accessible it would
be useful to have a feature where the client can also fetch the logs from
specific request over HTTP.
This feature would work like below
# Client sends an HTTP request with header {{Sling-Tracer-Record}} set to true
{noformat}
curl -D - -u admin:admin \
-H "Sling-Tracer-Record : true" \
-d "./jcr:content/jcr:title=Summer Collection" \
-d ":name=summer-collection" \
-d "./jcr:primaryType=sling:Folder" \
-d "./jcr:content/jcr:primaryType=nt:unstructured" \
-d "tracers=oak-writes" \
http://localhost:4802/content/dam/
{noformat}
# Server includes a request id as part of {{Sling-Tracer-Request-Id}} response
headers
{noformat}
HTTP/1.1 201 Created
Date: Wed, 27 Jan 2016 07:30:22 GMT
Sling-Tracer-Request-Id: 9b5b01f6-f269-47c3-a889-2dc8d4d7938f
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
Location: /content/dam/summer-collection
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
{noformat}
# The logs in json format can then be fetched like
http://localhost:4802/system/console/tracer/9b5b01f6-f269-47c3-a889-2dc8d4d7938f.json
Key points
# Request id is randomly generated
# The access to request log is via Web Console Plugin servlet hence its only
accessible to admin user account
# The request data would only be recorded for those request which have the
{{Sling-Tracer-Record}} header set. The data would be kept in memory for *some
time* with the assumption that client would fetch it soon. After some time the
data would expire
# This feature would need to explicitly enabled via config option
# The feature is somewhat similar to 'Recent Request' support. However it
exposes a JSON rendition and only keeps the data for request where client
requested that.
was:
Sling Log Tracer currently provides support for fine grained control of
enabling logs for specific request. To make this log more accessible it would
be useful to have a feature where the client can also fetch the logs from
specific request over HTTP.
This feature would work like below
# Client sends an HTTP request with header {{Sling-Tracer-Record}} set to true
{noformat}
curl -D - -u admin:admin \
-H "Sling-Tracer-Record : true" \
-d "./jcr:content/jcr:title=Summer Collection" \
-d ":name=summer-collection" \
-d "./jcr:primaryType=sling:Folder" \
-d "./jcr:content/jcr:primaryType=nt:unstructured" \
-d "tracers=oak-writes" \
http://localhost:4802/content/dam/
{noformat}
# Server includes a request id as part of {{Sling-Tracer-Request-Id}} response
headers
{noformat}
HTTP/1.1 201 Created
Date: Wed, 27 Jan 2016 07:30:22 GMT
Sling-Tracer-Request-Id: 9b5b01f6-f269-47c3-a889-2dc8d4d7938f
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
Location: /content/dam/summer-collection
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
{noformat}
# The logs in json format can then be fetched like
http://localhost:4802/system/console/tracer/9b5b01f6-f269-47c3-a889-2dc8d4d7938f.json
Key points
# Request id is randomly generated
# The access to request log is via Web Console Plugin servlet hence its only
accessible to admin user account
# The request data would only be recorded for those request which have the
{{Sling-Tracer-Record}} header set. The data would be kept in memory for *some
time* with the assumption that client would fetch it soon. After some time the
data would expire
> Recording of tracer logs
> ------------------------
>
> Key: SLING-5459
> URL: https://issues.apache.org/jira/browse/SLING-5459
> Project: Sling
> Issue Type: New Feature
> Components: Extensions
> Reporter: Chetan Mehrotra
> Assignee: Chetan Mehrotra
> Fix For: Log Tracer 1.0.0
>
>
> Sling Log Tracer currently provides support for fine grained control of
> enabling logs for specific request. To make this log more accessible it would
> be useful to have a feature where the client can also fetch the logs from
> specific request over HTTP.
> This feature would work like below
> # Client sends an HTTP request with header {{Sling-Tracer-Record}} set to
> true
> {noformat}
> curl -D - -u admin:admin \
> -H "Sling-Tracer-Record : true" \
> -d "./jcr:content/jcr:title=Summer Collection" \
> -d ":name=summer-collection" \
> -d "./jcr:primaryType=sling:Folder" \
> -d "./jcr:content/jcr:primaryType=nt:unstructured" \
> -d "tracers=oak-writes" \
> http://localhost:4802/content/dam/
> {noformat}
> # Server includes a request id as part of {{Sling-Tracer-Request-Id}}
> response headers
> {noformat}
> HTTP/1.1 201 Created
> Date: Wed, 27 Jan 2016 07:30:22 GMT
> Sling-Tracer-Request-Id: 9b5b01f6-f269-47c3-a889-2dc8d4d7938f
> X-Content-Type-Options: nosniff
> X-Frame-Options: SAMEORIGIN
> Location: /content/dam/summer-collection
> Content-Type: text/html; charset=UTF-8
> Transfer-Encoding: chunked
> {noformat}
> # The logs in json format can then be fetched like
> http://localhost:4802/system/console/tracer/9b5b01f6-f269-47c3-a889-2dc8d4d7938f.json
> Key points
> # Request id is randomly generated
> # The access to request log is via Web Console Plugin servlet hence its only
> accessible to admin user account
> # The request data would only be recorded for those request which have the
> {{Sling-Tracer-Record}} header set. The data would be kept in memory for
> *some time* with the assumption that client would fetch it soon. After some
> time the data would expire
> # This feature would need to explicitly enabled via config option
> # The feature is somewhat similar to 'Recent Request' support. However it
> exposes a JSON rendition and only keeps the data for request where client
> requested that.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)