From 279d5ad526cd8bc92feb85c873aad0bba901c811 Mon Sep 17 00:00:00 2001 From: pandmitr Date: Fri, 26 Feb 2016 14:06:17 +0300 Subject: [PATCH] JS error logger By pandmitr --- .../codecraft/loggers/jserrorlogger.php | 69 +++++++++++++++++++ local/templates/blank/header.php | 23 ++++--- local/tools/jsErrorLog.php | 18 +++++ 3 files changed, 100 insertions(+), 10 deletions(-) create mode 100644 local/php_interface/include/classes/codecraft/loggers/jserrorlogger.php create mode 100644 local/tools/jsErrorLog.php diff --git a/local/php_interface/include/classes/codecraft/loggers/jserrorlogger.php b/local/php_interface/include/classes/codecraft/loggers/jserrorlogger.php new file mode 100644 index 0000000..062908c --- /dev/null +++ b/local/php_interface/include/classes/codecraft/loggers/jserrorlogger.php @@ -0,0 +1,69 @@ + + * @based Anton Dolganin post - + * @version 1.0 + * @package CodeCraft + * @category Debug, Logging + * @copyright Copyright © 2016, Dmitry Panychev + */ + +namespace CodeCraft\Loggers; + +use \Bitrix\Main\Context; + +class JsErrorLogger { + + /** + * JsErrorLogger constructor. + * + * @throws \Exception + */ + public function __construct() { + if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true) { + throw new \Exception ('Bitrix prolog is not included'); + } + } + + /** + * Print onError script, it handle and send error + * + * @param $pathToAction + */ + public function watch($pathToAction) { + $js = ''; + + echo $js; + } + + /** + * Log errors from request to file + * + * @use \Bitrix\Main\Context + * @use AddMessage2Log + */ + public function log() { + $request = Context::getCurrent()->getRequest(); + + if ($request->get('data')) { + AddMessage2Log(var_export($request->get('data'))); + } + } +} \ No newline at end of file diff --git a/local/templates/blank/header.php b/local/templates/blank/header.php index cc0079f..5a6e49e 100644 --- a/local/templates/blank/header.php +++ b/local/templates/blank/header.php @@ -1,23 +1,26 @@ addJs(SITE_TEMPLATE_PATH . '/js/project.js'); ?> - - ShowHead()?> - - <?$APPLICATION->ShowTitle();?> - - + + ShowHead() ?> + + <? $APPLICATION->ShowTitle(); ?> + + -ShowPanel();?> +ShowPanel(); ?> +watch('/local/tools/jsErrorLog.php') ?> diff --git a/local/tools/jsErrorLog.php b/local/tools/jsErrorLog.php new file mode 100644 index 0000000..6108701 --- /dev/null +++ b/local/tools/jsErrorLog.php @@ -0,0 +1,18 @@ +log(); \ No newline at end of file