woocommerce/includes/class-wc-log-levels.php

85 lines
1.9 KiB
PHP
Raw Normal View History

2016-12-10 20:59:41 +00:00
<?php
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
/**
* Standard log levels
*
* @class WC_Log_Levels
* @version 2.0.0
* @package WooCommerce/Classes
* @category Class
* @author WooThemes
*/
abstract class WC_Log_Levels {
/**
* Log Levels
*
2016-12-10 21:31:32 +00:00
* Description of levels:
* 'emergency': System is unusable.
* 'alert': Action must be taken immediately.
* 'critical': Critical conditions.
* 'error': Error conditions.
* 'warning': Warning conditions.
* 'notice': Normal but significant condition.
* 'informational': Informational messages.
* 'debug': Debug-level messages.
*
2016-12-10 20:59:41 +00:00
* @see @link {https://tools.ietf.org/html/rfc5424}
*/
const EMERGENCY = 'emergency';
const ALERT = 'alert';
const CRITICAL = 'critical';
const ERROR = 'error';
const WARNING = 'warning';
const NOTICE = 'notice';
const INFO = 'info';
const DEBUG = 'debug';
2016-12-10 20:59:41 +00:00
/**
* Level strings mapped to integer severity.
*
* @var array
* @access protected
*/
protected static $level_severity = array(
self::EMERGENCY => 800,
self::ALERT => 700,
self::CRITICAL => 600,
self::ERROR => 500,
self::WARNING => 400,
self::NOTICE => 300,
self::INFO => 200,
self::DEBUG => 100,
2016-12-10 20:59:41 +00:00
);
/**
* Validate a level string.
*
* @param string $level
* @return bool True if $level is a valid level.
*/
public static function is_valid_level( $level ) {
return array_key_exists( $level, self::$level_severity );
}
/**
* Translate level string to integer.
*
* @param string $level emergency|alert|critical|error|warning|notice|info|debug
* @return int 100 (debug) - 800 (emergency) or 0 if not recognized
*/
public static function get_level_severity( $level ) {
if ( self::is_valid_level( $level ) ) {
$severity = self::$level_severity[ $level ];
} else {
$severity = 0;
}
return $severity;
}
}