Select Git revision
static-analysis.yml
-
Bartek Jaskulski authored
Signed-off-by:
Bart Jaskulski <bjaskulski@protonmail.com>
Bartek Jaskulski authoredSigned-off-by:
Bart Jaskulski <bjaskulski@protonmail.com>
LoggerFacade.php 2.85 KiB
<?php
namespace WPDesk\Logger;
use Monolog\Logger;
use Psr\Log\LogLevel;
use WP_Error;
use Exception;
/**
* Facilitates creation of logger with default WPDesk settings
*
* @package WPDesk\Logger
*/
class LoggerFacade
{
const BACKTRACE_FILENAME_KEY = 'file';
/** @var LoggerFactory */
private static $factory;
/**
* @return Logger
*/
public static function getLogger()
{
if (self::$factory === null) {
self::$factory = new WPDeskLoggerFactory();
}
return self::$factory->createWPDeskLogger();
}
/**
* Snake case alias for getLogger
*
* @return Logger
*/
public static function get_logger()
{
return self::getLogger();
}
/**
* Log this exception into WPDesk logger
*
* @param WP_Error $e Error to log.
* @param array $backtrace Backtrace information with snapshot of error env.
* @param string $level Level of error.
*
* @see http://php.net/manual/en/function.debug-backtrace.php
*/
public static function log_wp_error(WP_Error $e, array $backtrace, $level = LogLevel::ERROR)
{
$message = 'Error: ' . get_class($e) . ' Code: ' . $e->get_error_code() . ' Message: ' . $e->get_error_message();
self::log_message_backtrace($message, $backtrace, $level);
}
/**
* Log this exception into WPDesk logger
*
* @param Exception $e Exception to log.
* @param string $level Level of error.
*/
public static function log_exception(Exception $e, $level = LogLevel::ERROR)
{
$message = 'Exception: ' . get_class($e) . ' Code: ' . $e->getCode() . ' Message: ' . $e->getMessage() . ' Stack: ' . $e->getTraceAsString();
self::log_message($message, ['exception' => $e], $e->getFile(), $level);
}