diff core/lib/Drupal/Core/Logger/RfcLogLevel.php @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children 129ea1e6d783
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/core/lib/Drupal/Core/Logger/RfcLogLevel.php	Wed Nov 29 16:09:58 2017 +0000
@@ -0,0 +1,108 @@
+<?php
+
+namespace Drupal\Core\Logger;
+
+use Drupal\Core\StringTranslation\TranslatableMarkup;
+
+/**
+ * @defgroup logging_severity_levels Logging severity levels
+ * @{
+ * Logging severity levels as defined in RFC 5424.
+ *
+ * The constant definitions of this class correspond to the logging severity
+ * levels defined in RFC 5424, section 4.1.1. PHP supplies predefined LOG_*
+ * constants for use in the syslog() function, but their values on Windows
+ * builds do not correspond to RFC 5424. The associated PHP bug report was
+ * closed with the comment, "And it's also not a bug, as Windows just have less
+ * log levels," and "So the behavior you're seeing is perfectly normal."
+ *
+ * @see http://tools.ietf.org/html/rfc5424
+ * @see http://bugs.php.net/bug.php?id=18090
+ * @see http://php.net/manual/function.syslog.php
+ * @see http://php.net/manual/network.constants.php
+ * @see self::getLevels()
+ *
+ * @} End of "defgroup logging_severity_levels".
+ */
+
+/**
+ * Defines various logging severity levels.
+ *
+ * @ingroup logging_severity_levels
+ */
+class RfcLogLevel {
+
+  /**
+   * Log message severity -- Emergency: system is unusable.
+   */
+  const EMERGENCY = 0;
+
+  /**
+   * Log message severity -- Alert: action must be taken immediately.
+   */
+  const ALERT = 1;
+
+  /**
+   * Log message severity -- Critical conditions.
+   */
+  const CRITICAL = 2;
+
+  /**
+   * Log message severity -- Error conditions.
+   */
+  const ERROR = 3;
+
+  /**
+   * Log message severity -- Warning conditions.
+   */
+  const WARNING = 4;
+
+  /**
+   * Log message severity -- Normal but significant conditions.
+   */
+  const NOTICE = 5;
+
+  /**
+   * Log message severity -- Informational messages.
+   */
+  const INFO = 6;
+
+  /**
+   * Log message severity -- Debug-level messages.
+   */
+  const DEBUG = 7;
+
+  /**
+   * An array with the severity levels as keys and labels as values.
+   *
+   * @var array
+   */
+  protected static $levels;
+
+  /**
+   * Returns a list of severity levels, as defined in RFC 5424.
+   *
+   * @return array
+   *   Array of the possible severity levels for log messages.
+   *
+   * @see http://tools.ietf.org/html/rfc5424
+   * @ingroup logging_severity_levels
+   */
+  public static function getLevels() {
+    if (!static::$levels) {
+      static::$levels = [
+        static::EMERGENCY => new TranslatableMarkup('Emergency'),
+        static::ALERT => new TranslatableMarkup('Alert'),
+        static::CRITICAL => new TranslatableMarkup('Critical'),
+        static::ERROR => new TranslatableMarkup('Error'),
+        static::WARNING => new TranslatableMarkup('Warning'),
+        static::NOTICE => new TranslatableMarkup('Notice'),
+        static::INFO => new TranslatableMarkup('Info'),
+        static::DEBUG => new TranslatableMarkup('Debug'),
+      ];
+    }
+
+    return static::$levels;
+  }
+
+}