Debugging ========= Logging ------- PicoFeed log in memory the execution flow, if a feed doesn't work correctly it's easy to see what is wrong. ### Reading messages ```php use PicoFeed\Logging\Logger; // All messages are stored inside an Array print_r(Logger::getMessages()); ``` You will got an output like that: ```php Array ( [0] => Fetch URL: http://petitcodeur.fr/feed.xml [1] => Etag: [2] => Last-Modified: [3] => cURL total time: 0.711378 [4] => cURL dns lookup time: 0.001064 [5] => cURL connect time: 0.100733 [6] => cURL speed download: 74825 [7] => HTTP status code: 200 [8] => HTTP headers: Set-Cookie => start=R2701971637; path=/; expires=Sat, 06-Jul-2013 05:16:33 GMT [9] => HTTP headers: Date => Sat, 06 Jul 2013 03:55:52 GMT [10] => HTTP headers: Content-Type => application/xml [11] => HTTP headers: Content-Length => 53229 [12] => HTTP headers: Connection => close [13] => HTTP headers: Server => Apache [14] => HTTP headers: Last-Modified => Tue, 02 Jul 2013 03:26:02 GMT [15] => HTTP headers: ETag => "393e79c-cfed-4e07ee78b2680" [16] => HTTP headers: Accept-Ranges => bytes .... ) ``` ### Remove messages All messages are stored in memory, if you need to clear them just call the method `Logger::deleteMessages()`: ```php Logger::deleteMessages(); ``` Command line utility ==================== PicoFeed provides a basic command line tool to debug feeds quickly. The tool is located in the root directory project. ### Usage ```bash $ ./picofeed Usage: ./picofeed feed # Parse a feed a dump the ouput on stdout ./picofeed debug # Display all logging messages for a feed ./picofeed item # Fetch only one item ./picofeed nofilter # Fetch an item but with no content filtering ``` ### Example ```bash $ ./picofeed debug https://linuxfr.org/ Exception thrown ===> "Invalid SSL certificate" Array ( [0] => [2014-11-08 14:04:14] PicoFeed\Client\Curl Fetch URL: https://linuxfr.org/ [1] => [2014-11-08 14:04:14] PicoFeed\Client\Curl Etag provided: [2] => [2014-11-08 14:04:14] PicoFeed\Client\Curl Last-Modified provided: [3] => [2014-11-08 14:04:16] PicoFeed\Client\Curl cURL total time: 1.850634 [4] => [2014-11-08 14:04:16] PicoFeed\Client\Curl cURL dns lookup time: 0.00093 [5] => [2014-11-08 14:04:16] PicoFeed\Client\Curl cURL connect time: 0.115213 [6] => [2014-11-08 14:04:16] PicoFeed\Client\Curl cURL speed download: 0 [7] => [2014-11-08 14:04:16] PicoFeed\Client\Curl cURL effective url: https://linuxfr.org/ [8] => [2014-11-08 14:04:16] PicoFeed\Client\Curl cURL error: SSL certificate problem: Invalid certificate chain ) ```