{"id":1439,"date":"2018-01-19T19:22:50","date_gmt":"2018-01-19T19:22:50","guid":{"rendered":"http:\/\/goofy-trucks.flywheelsites.com\/file-based-custom-logging-page-4\/"},"modified":"2018-01-19T19:24:47","modified_gmt":"2018-01-19T19:24:47","slug":"file-based-custom-logging-page-4","status":"publish","type":"post","link":"https:\/\/phpbuilder.com\/file-based-custom-logging-page-4\/","title":{"rendered":"File based, custom logging Page 4"},"content":{"rendered":"<div class=\"phpbuilder-content\">\n<div class=\"phpbuilder-meta\">\n<div class=\"\">By John Starkey<\/div>\n<div class=\"\">on September 30, 2002<\/div>\n<\/p><\/div>\n<div id=\"overflow-content\">\n<div class=\"articlePara\">Full Source!<\/div>\n<div class=\"articlePara\">\nHere is the code in whole so that you may paste it in a file for demonstration purposes:<\/div>\n<div class=\"articlePara\">\n<font face=\"courier\"><code><span style=\"color: #000000\"><\/p>\n<p><span style=\"color: #0000BB\">&lt;?php<br \/>\n<br \/>$log_file\u00a0<\/span><span style=\"color: #007700\">=\u00a0<\/span><span style=\"color: #DD0000\">'\/whatever.file'<\/span><span style=\"color: #007700\">;\u00a0\u00a0<\/span><span style=\"color: #FF8000\">\/\/\u00a0change\u00a0this\u00a0to\u00a0a\u00a0file\u00a0the\u00a0server\u00a0can\u00a0write\u00a0to,\u00a0and\u00a0you\u00a0can\u00a0read<br \/>\n<br \/><\/span><span style=\"color: #0000BB\">$date\u00a0<\/span><span style=\"color: #007700\">=\u00a0<\/span><span style=\"color: #0000BB\">date<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #DD0000\">'Y-m-d\u00a0H:i:s\u00a0(T)'<\/span><span style=\"color: #007700\">);<br \/>\n<br \/>function\u00a0<\/span><span style=\"color: #0000BB\">simplisticErrorHandler<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #0000BB\">$errno<\/span><span style=\"color: #007700\">,\u00a0<\/span><span style=\"color: #0000BB\">$errmsg<\/span><span style=\"color: #007700\">,\u00a0<\/span><span style=\"color: #0000BB\">$filename<\/span><span style=\"color: #007700\">,\u00a0<\/span><span style=\"color: #0000BB\">$linenum<\/span><span style=\"color: #007700\">,\u00a0<\/span><span style=\"color: #0000BB\">$vars<\/span><span style=\"color: #007700\">)<br \/>\n<br \/>{<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0global\u00a0<\/span><span style=\"color: #0000BB\">$log_file<\/span><span style=\"color: #007700\">,\u00a0<\/span><span style=\"color: #0000BB\">$date<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0if\u00a0(\u00a0<\/span><span style=\"color: #0000BB\">$errno\u00a0<\/span><span style=\"color: #007700\">==\u00a0<\/span><span style=\"color: #0000BB\">E_USER_NOTICE\u00a0<\/span><span style=\"color: #007700\">)<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0{<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$err\u00a0<\/span><span style=\"color: #007700\">=\u00a0<\/span><span style=\"color: #DD0000\">\"$date\u00a0-\u00a0\"<\/span><span style=\"color: #007700\">.<\/span><span style=\"color: #0000BB\">$_SERVER<\/span><span style=\"color: #007700\">[<\/span><span style=\"color: #DD0000\">'REMOTE_ADDR'<\/span><span style=\"color: #007700\">].<\/span><span style=\"color: #DD0000\">\"\u00a0-\u00a0NOTICE:\u00a0$errmsg\u00a0in\u00a0$filename\u00a0on\u00a0line\u00a0$linenumn\"<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">error_log<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #0000BB\">$err<\/span><span style=\"color: #007700\">,<\/span><span style=\"color: #0000BB\">3<\/span><span style=\"color: #007700\">,<\/span><span style=\"color: #0000BB\">$log_file<\/span><span style=\"color: #007700\">);<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0}<br \/>\n<br \/>}<\/p>\n<p><\/span><span style=\"color: #0000BB\">set_error_handler<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #DD0000\">\"simplisticErrorHandler\"<\/span><span style=\"color: #007700\">);<\/p>\n<p><\/span><span style=\"color: #0000BB\">$fake_array\u00a0<\/span><span style=\"color: #007700\">=\u00a0<\/span><span style=\"color: #DD0000\">'test'<\/span><span style=\"color: #007700\">;\u00a0<\/span><span style=\"color: #FF8000\">\/\/\u00a0declare\u00a0the\u00a0variable\u00a0with\u00a0a\u00a0string\u00a0value;<br \/>\n<br \/><\/span><span style=\"color: #007700\">if\u00a0(\u00a0!<\/span><span style=\"color: #0000BB\">in_array<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #DD0000\">'Something'<\/span><span style=\"color: #007700\">,\u00a0<\/span><span style=\"color: #0000BB\">$fake_array\u00a0<\/span><span style=\"color: #007700\">)\u00a0)\u00a0<\/span><span style=\"color: #FF8000\">\/\/\u00a0cause\u00a0the\u00a0faked\u00a0array\u00a0to\u00a0throw\u00a0an\u00a0error<br \/>\n<br \/><\/span><span style=\"color: #007700\">{<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">trigger_error<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #DD0000\">\"Look,\u00a0you\u00a0and\u00a0I\u00a0both\u00a0know\u00a0that\u00a0wasn't\u00a0an\u00a0array\"<\/span><span style=\"color: #007700\">,<\/span><span style=\"color: #0000BB\">E_USER_NOTICE<\/span><span style=\"color: #007700\">);\u00a0<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0echo\u00a0<\/span><span style=\"color: #DD0000\">\"An\u00a0error\u00a0has\u00a0been\u00a0posted\u00a0to\u00a0$log_file\"<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>}<br \/>\n<br \/><\/span><span style=\"color: #0000BB\">?&gt;<br \/>\n<br \/><\/span><br \/>\n<\/span><br \/>\n<\/code><\/font><\/div>\n<div class=\"articlePara\">\nOnce you have pasted the above code into a file, you can open that file in your browser and it should<br \/>\nprint an error to your log file, as well as echo &#8220;An error has been posted to \/tmp\/article.log&#8221; to<br \/>\nyour browser. If this is not the case, there may be a permissions problem, or you may need to check<br \/>\nyour syntax.<\/div>\n<\/div>\n<p><\/p>\n<div style=\"float: left; padding:15px; color:#17AAF3\">\n<div style=\"float:left; padding:2px;\"><a class=\"paginationPageLink\" href=\"starkey200209309ba9.html?page=3\">\u00ab Previous Page<\/a><\/div>\n<div style=\"float:left; padding:2px 4px 2px 4px;\"><a class=\"pageNumber\" href=\"starkey20020930.html\">1<\/a> <\/div>\n<div style=\"float:left; font-size:16px; color:#FF7A22; padding:2px 2px 2px 2px; \">| <\/div>\n<div style=\"float:left; padding:2px 4px 2px 4px;\"><a class=\"pageNumber\" href=\"starkey200209304658.html?page=2\">2<\/a> <\/div>\n<div style=\"float:left; font-size:16px; color:#FF7A22; padding:2px 2px 2px 2px; \">| <\/div>\n<div style=\"float:left; padding:2px 4px 2px 4px;\"><a class=\"pageNumber\" href=\"starkey200209309ba9.html?page=3\">3<\/a> <\/div>\n<div style=\"float:left; font-size:16px; color:#FF7A22; padding:2px 2px 2px 2px; \">| <\/div>\n<div style=\"background-color:#B6E5FC; font-size:16px; margin-top:1px; padding:1px 4px 1px 4px; color:#000; font-style:bold; float:left;\">4<\/div>\n<div style=\"float:left; font-size:16px; color:#FF7A22; padding:2px 2px 2px 2px; \">| <\/div>\n<div style=\"float:left; padding:2px 4px 2px 4px;\"><a class=\"pageNumber\" href=\"starkey20020930af4d.html?page=5\">5<\/a> <\/div>\n<div style=\"float:left; padding:2px;\"><a class=\"paginationPageLink\" href=\"starkey20020930af4d.html?page=5\">Next Page \u00bb<\/a><\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>In my opinion, the best thing about working in the development phase is the liberty to throw your errors to the browser, without too many worries<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-1439","post","type-post","status-publish","format-standard","hentry","category-tutorials"],"_links":{"self":[{"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/posts\/1439","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/comments?post=1439"}],"version-history":[{"count":1,"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/posts\/1439\/revisions"}],"predecessor-version":[{"id":3297,"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/posts\/1439\/revisions\/3297"}],"wp:attachment":[{"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/media?parent=1439"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/categories?post=1439"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/tags?post=1439"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}