2015-07-24 00:53:41 +02:00
|
|
|
<?php
|
|
|
|
|
2016-08-19 00:51:35 +02:00
|
|
|
namespace SilverStripe\Logging;
|
|
|
|
|
|
|
|
use Psr\Log\LoggerInterface;
|
|
|
|
use SilverStripe\Core\Injector\Injector;
|
|
|
|
use SilverStripe\Dev\Deprecation;
|
|
|
|
|
2015-07-24 00:53:41 +02:00
|
|
|
/**
|
|
|
|
* Wrapper class for a logging handler like {@link Zend_Log}
|
|
|
|
* which takes a message (or a map of context variables) and
|
|
|
|
* sends it to one or more {@link Zend_Log_Writer_Abstract}
|
|
|
|
* subclasses for output.
|
|
|
|
*
|
|
|
|
* These priorities are currently supported:
|
2016-09-09 08:43:05 +02:00
|
|
|
* - Log::ERR
|
|
|
|
* - Log::WARN
|
|
|
|
* - Log::NOTICE
|
|
|
|
* - Log::INFO
|
|
|
|
* - Log::DEBUG
|
2017-01-19 23:56:13 +01:00
|
|
|
*/
|
2016-09-09 08:43:05 +02:00
|
|
|
class Log
|
2015-07-24 00:53:41 +02:00
|
|
|
{
|
|
|
|
|
2016-11-29 00:31:16 +01:00
|
|
|
const ERR = 'error';
|
|
|
|
const WARN = 'warning';
|
|
|
|
const NOTICE = 'notice';
|
|
|
|
const INFO = 'info';
|
|
|
|
const DEBUG = 'debug';
|
2015-07-24 00:53:41 +02:00
|
|
|
|
2016-11-29 00:31:16 +01:00
|
|
|
/**
|
|
|
|
* Get the logger currently in use, or create a new one if it doesn't exist.
|
|
|
|
*
|
|
|
|
* @deprecated 4.0..5.0
|
|
|
|
* @return LoggerInterface
|
|
|
|
*/
|
|
|
|
public static function get_logger()
|
|
|
|
{
|
|
|
|
Deprecation::notice('5.0', 'Use Injector::inst()->get(\'Logger\') instead');
|
|
|
|
return Injector::inst()->get('Logger');
|
|
|
|
}
|
2015-07-24 00:53:41 +02:00
|
|
|
|
2016-11-29 00:31:16 +01:00
|
|
|
/**
|
|
|
|
* Dispatch a message by priority level.
|
|
|
|
*
|
|
|
|
* The message parameter can be either a string (a simple error
|
|
|
|
* message), or an array of variables. The latter is useful for passing
|
|
|
|
* along a list of debug information for the writer to handle, such as
|
|
|
|
* error code, error line, error context (backtrace).
|
|
|
|
*
|
|
|
|
* @param mixed $message Exception object or array of error context variables
|
|
|
|
* @param string $priority Priority. Possible values: Log::ERR, Log::WARN, Log::NOTICE, Log::INFO or Log::DEBUG
|
|
|
|
*
|
|
|
|
* @deprecated 4.0.0:5.0.0 Use Injector::inst()->get('Logger')->log($priority, $message) instead
|
|
|
|
*/
|
|
|
|
public static function log($message, $priority)
|
|
|
|
{
|
|
|
|
Deprecation::notice('5.0', 'Use Injector::inst()->get(\'Logger\')->log($priority, $message) instead');
|
|
|
|
Injector::inst()->get('Logger')->log($priority, $message);
|
|
|
|
}
|
2015-07-24 00:53:41 +02:00
|
|
|
}
|