Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

How to print to a log file every time when "data" node in the JCR is accessed by CQ code?

vitaliv67047838
Level 1
Level 1

Hello everyone!

We need to find a way to analyze the current CQ dependencies on the /data (jcr node) at runtime.

Our goal would be to create
a logger/mechanism to print the stack trace to a special log file that records every time the "data" node in the JCR is accessed by CQ code.

access to node might be and after call from webpages and from java code

CQ version: CQ 5.6.1

Access mode: and read and write and read/write nested nodes

Performance: not important

Possible ideas on how we might do this:

1)  with help AOP (aspectj library), 

(I think it is more interesting approach but it is most difficult.

In runtime we will need  to implement loadtime weaving for aspects and we will need to solve many difficulties related with access to classes in another bundles with them classpath.

I think AOP advice with pointcut which will intercept all  calls for all methods from all implementations - good solution)

2) through a custom ResourceResolver

3) perhaps an ObservationManager in CQ.

(this approach do not provide ability to log access in time reading because not exist read Event for node and not exist read Event for nested nodes)

(it is need for analyze legacy code/ We will start tests sets witch help to us call our code)

Please help with ideas or code examples. Thank you

1 Reply
Mayank_Gandhi
Community Advisor
Community Advisor

kautuksahni​ Can you please move this thread to AEM sites.