"the client sends http request and the irule parses the request and sends a response. (my irule fires with the event of HTTP_REQUEST)"
The reason you don't see any logs in ASM is because ASM security checks are not processed. You are intercepting the request with a response triggered from your iRule.
By minimum, you will have to add a dummy pool to your virtual server without a health-check to circumvent the LB_FAILED event. Also, any iRule "HTTP::respond" functions must be commented out.
In case of a HTTP response which is triggered from F5, the request handling will be isolated to LTM, and the ASM module will not come into play at all. This applies even if you have correctly configured ASM policy and the logging profile.