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?
Log each request in ZF2
1.8k Views Asked by Mauro At
2
There are 2 best solutions below
0
David Weinraub
On
Sounds like you could attach a listener to the dispatch event on Zend\Mvc\Application.
For reference, Rob Allen has created a handy list of ZF2 events.
Related Questions in PHP
- php Variable name must change in for loop
- register_shutdown_function is not getting called
- Query returning zero rows despite entries existing
- Retrieving *number* pages by page id
- Automatically closing tags in form input?
- How to resize images with PHP PARSE SDK
- how to send email from localhost using codeigniter?
- Mariadb max Error while sending QUERY packet PID
- Multiusers login redirect different page in php
- Imaginary folder when I use "DirectoryIterator" in PHP?
- CodeIgniter + XDebug: debug only working in the main controller, index() function
- PHP script timeout when I use sleep()
- posting javascript populated form to another php page
- AJAX PHP - Reload div after submit
- PHP : How can I check Array in array?
Related Questions in LOGGING
- Is Log4j2 xml configuration case sensitive?
- Logback stopped logging after splitting shared config file
- logging setup best practices
- C Simple Logging Management
- OpenShift Pyramid logging to file
- Log of dependency does not show
- Node/Express access logger from request object
- How does one locate all git log messages in the git object database?
- Logging error when executing Maven SonarQube plugin
- refactor 'execute and log' pattern
- CMD specifying columns to save?
- How to get information about error from HttpContext in WCF services
- Django not logging all errors
- Empty space at beginning of rsyslog log file
- Avoid log trace of external framework J2EE
Related Questions in ZEND-FRAMEWORK2
- Using own Application class in ZF2
- How to allow users to see content of a folder through url in ZF2
- Create a subquery using ALL and ANY statements
- ZF2 / Doctrine Form Multi-select Element for Many-to-Many Relation
- PHP/Zend Framework 2 - Unable to display table field values within dynamically generated table
- Zend Framework 2 Form Collection Validator
- Zf2 entity create a custom filters
- Accessing 2 different tables from same controller file
- zf2 api response event catched by bjyauthorize
- Refactor some calls on each Zf2 controller action
- Best way to configure a Table in Module.php - Zend 2
- ZF2 authentication session storage in memcached
- ZF2 form with fieldset and doctrine not working
- How to make Zf2 Apigilty accept client request with no Accept set in header
- Zend Framwork 2 - Tablegateway - Updating only one column of a row in DB
Related Questions in ZEND-LOG
- How Zend_Log prevent the race condition while writing a log message?
- Zend_Session and Zend_Log _Db are both writing to the database twice for every page load
- How to use Zend Log as a separated component?
- ZF2 Zend\Log + Doctrine2
- ZF2 custom logfile, set username
- How to register Zend_Log in the bootstrap of a ZF 1.8+ application?
- Zend Framework default log level
- Is there a way to disable xdebug's var_dump temporarily?
- FirePHP doesn't always write log messages
- Is UML Class Diagram of Zend_Log correct?
- Log translated strings when using Zend_Translate
- Why Zend_Log_Writer_Firebug can't log messages from dispatchLoopShutdown plugin?
- Zend Framework -> Zend_Log via application.ini => insert() on a non-object error
- Log each request in ZF2
- how to change date format in "zend_log"
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
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: