We are using zend framework 2 for a new application, i would like to have the same logging system of Rails or similar, i would like have a log for each request, is possible to do this in Zend?
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
It depends what you want to log. If it is just an access log, you should try to use the webserver’s log. The logs from Apache/nginx/IIS etc perform better than you will achieve in your ZF2 app.
If you need to log inside the ZF2 application, you have two choices. First option is at
bootstrap. It’s one of the earliest options you can use, so probably therefore the best. However, you can also look atrouteordispatch. Those two events are called during the “run” phase of the application. With these events, you have for example a route match available and therefore you know (or not) if your request did match any controller (or in case you don’t have the match, it’s a 404).Some examples. Let’s assume you have a logger configured in the
ServiceManagerunder theloggerkey. Then to log atbootstrap:Or for example if you wait for
route, you attach a listener for therouteevent: