diff --git a/Logger.php b/Logger.php
index 39b7808..8d3832f 100644
--- a/Logger.php
+++ b/Logger.php
@@ -11,6 +11,11 @@ class Logger
*/
private $logger;
+ /**
+ * @var SanitizerInterface
+ */
+ private $sanitizer;
+
/**
* @var array
*/
@@ -43,14 +48,21 @@ class Logger
/**
* Constructor
*
- * @param LoggerInterface $logger
- * @param array $allowedLevels
- * @param array $ignoredMessages
- * @param array $ignoredURLs
+ * @param LoggerInterface $logger
+ * @param SanitizerInterface $sanitizer
+ * @param array $allowedLevels
+ * @param array $ignoredMessages
+ * @param array $ignoredURLs
*/
- public function __construct(LoggerInterface $logger, array $allowedLevels, array $ignoredMessages = array(), array $ignoredURLs = array())
- {
+ public function __construct(
+ LoggerInterface $logger,
+ SanitizerInterface $sanitizer,
+ array $allowedLevels,
+ array $ignoredMessages = array(),
+ array $ignoredURLs = array()
+ ) {
$this->logger = $logger;
+ $this->sanitizer = $sanitizer;
$this->allowedLevels = $allowedLevels;
$this->ignoredMessages = $ignoredMessages;
$this->ignoredURLs = $ignoredURLs;
@@ -81,7 +93,11 @@ public function write($level, $message, array $context = array())
}
}
- $this->logger->{$this->levelToMethod[$level]}($message, $context);
+ foreach ($context as $key => $value) {
+ $context[$key] = $this->sanitizer->sanitize($value);
+ }
+
+ $this->logger->{$this->levelToMethod[$level]}($this->sanitizer->sanitize($message), $context);
return true;
}
diff --git a/Resources/config/services.xml b/Resources/config/services.xml
index bb437ef..0d66cbe 100644
--- a/Resources/config/services.xml
+++ b/Resources/config/services.xml
@@ -6,18 +6,22 @@
Nelmio\JsLoggerBundle\Logger
+ Nelmio\JsLoggerBundle\StringSanitizer
Nelmio\JsLoggerBundle\TwigExtension
+
%nelmio_js_logger.allowed_levels%
%nelmio_js_logger.ignore_messages%
%nelmio_js_logger.ignore_url_prefixes%
+
+
%nelmio_js_logger.stacktrace_js_path%
diff --git a/SanitizerInterface.php b/SanitizerInterface.php
new file mode 100644
index 0000000..94604af
--- /dev/null
+++ b/SanitizerInterface.php
@@ -0,0 +1,12 @@
+= 200 && req.status < 400) {
@@ -56,7 +55,6 @@ function(stackframes) {
if (typeof console !== 'undefined' && typeof console.log === 'function') {
console.log('POST to $url failed with status: ' + req.status);
}
- throw new Error('POST to $url failed with status: ' + req.status);
}
}
};