--- a/web/lib/Zend/Log.php Thu Mar 21 17:31:31 2013 +0100
+++ b/web/lib/Zend/Log.php Thu Mar 21 19:50:53 2013 +0100
@@ -14,17 +14,17 @@
*
* @category Zend
* @package Zend_Log
- * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
- * @version $Id: Log.php 22976 2010-09-19 11:57:26Z intiilapa $
+ * @version $Id: Log.php 25131 2012-11-16 15:29:18Z rob $
*/
/**
* @category Zend
* @package Zend_Log
- * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
- * @version $Id: Log.php 22976 2010-09-19 11:57:26Z intiilapa $
+ * @version $Id: Log.php 25131 2012-11-16 15:29:18Z rob $
*/
class Zend_Log
{
@@ -72,6 +72,12 @@
/**
*
+ * @var string
+ */
+ protected $_defaultFormatterNamespace = 'Zend_Log_Formatter';
+
+ /**
+ *
* @var callback
*/
protected $_origErrorHandler = null;
@@ -84,7 +90,7 @@
/**
*
- * @var array
+ * @var array|boolean
*/
protected $_errorHandlerMap = false;
@@ -98,6 +104,7 @@
* Class constructor. Create a new logger
*
* @param Zend_Log_Writer_Abstract|null $writer default writer
+ * @return void
*/
public function __construct(Zend_Log_Writer_Abstract $writer = null)
{
@@ -115,6 +122,7 @@
*
* @param array|Zend_Config Array or instance of Zend_Config
* @return Zend_Log
+ * @throws Zend_Log_Exception
*/
static public function factory($config = array())
{
@@ -130,6 +138,13 @@
$log = new self;
+ if (array_key_exists('timestampFormat', $config)) {
+ if (null != $config['timestampFormat'] && '' != $config['timestampFormat']) {
+ $log->setTimestampFormat($config['timestampFormat']);
+ }
+ unset($config['timestampFormat']);
+ }
+
if (!is_array(current($config))) {
$log->addWriter(current($config));
} else {
@@ -147,6 +162,7 @@
*
* @param array $spec config array with writer spec
* @return Zend_Log_Writer_Abstract
+ * @throws Zend_Log_Exception
*/
protected function _constructWriterFromConfig($config)
{
@@ -166,6 +182,11 @@
$writer->addFilter($filter);
}
+ if (isset($config['formatterName'])) {
+ $formatter = $this->_constructFormatterFromConfig($config);
+ $writer->setFormatter($formatter);
+ }
+
return $writer;
}
@@ -174,6 +195,7 @@
*
* @param array|Zend_Config $config Zend_Config or Array
* @return Zend_Log_Filter_Interface
+ * @throws Zend_Log_Exception
*/
protected function _constructFilterFromConfig($config)
{
@@ -191,6 +213,29 @@
return $filter;
}
+ /**
+ * Construct formatter object from configuration array or Zend_Config object
+ *
+ * @param array|Zend_Config $config Zend_Config or Array
+ * @return Zend_Log_Formatter_Interface
+ * @throws Zend_Log_Exception
+ */
+ protected function _constructFormatterFromConfig($config)
+ {
+ $formatter = $this->_constructFromConfig('formatter', $config, $this->_defaultFormatterNamespace);
+
+ if (!$formatter instanceof Zend_Log_Formatter_Interface) {
+ $formatterName = is_object($formatter)
+ ? get_class($formatter)
+ : 'The specified formatter';
+ /** @see Zend_Log_Exception */
+ require_once 'Zend/Log/Exception.php';
+ throw new Zend_Log_Exception($formatterName . ' does not implement Zend_Log_Formatter_Interface');
+ }
+
+ return $formatter;
+ }
+
/**
* Construct a filter or writer from config
*
@@ -198,6 +243,7 @@
* @param mixed $config Zend_Config or Array
* @param string $namespace
* @return object
+ * @throws Zend_Log_Exception
*/
protected function _constructFromConfig($type, $config, $namespace)
{
@@ -223,7 +269,7 @@
if (!$reflection->implementsInterface('Zend_Log_FactoryInterface')) {
require_once 'Zend/Log/Exception.php';
throw new Zend_Log_Exception(
- 'Driver does not implement Zend_Log_FactoryInterface and can not be constructed from config.'
+ $className . ' does not implement Zend_Log_FactoryInterface and can not be constructed from config.'
);
}
@@ -237,22 +283,33 @@
* @param string $type filter|writer
* @param string $defaultNamespace
* @return string full classname
+ * @throws Zend_Log_Exception
*/
protected function getClassName($config, $type, $defaultNamespace)
{
- if (!isset($config[ $type . 'Name' ])) {
+ if (!isset($config[$type . 'Name'])) {
require_once 'Zend/Log/Exception.php';
throw new Zend_Log_Exception("Specify {$type}Name in the configuration array");
}
- $className = $config[ $type . 'Name' ];
+ $className = $config[$type . 'Name'];
$namespace = $defaultNamespace;
- if (isset($config[ $type . 'Namespace' ])) {
- $namespace = $config[ $type . 'Namespace' ];
+
+ if (isset($config[$type . 'Namespace'])) {
+ $namespace = $config[$type . 'Namespace'];
}
- $fullClassName = $namespace . '_' . $className;
- return $fullClassName;
+ // PHP >= 5.3.0 namespace given?
+ if (substr($namespace, -1) == '\\') {
+ return $namespace . $className;
+ }
+
+ // emtpy namespace given?
+ if (strlen($namespace) === 0) {
+ return $className;
+ }
+
+ return $namespace . '_' . $className;
}
/**
@@ -261,7 +318,7 @@
* @param string $message Message to log
* @param integer $priority Priority of message
* @return array Event array
- **/
+ */
protected function _packEvent($message, $priority)
{
return array_merge(array(
@@ -387,7 +444,7 @@
*
* @param string $name Name of priority
* @param integer $priority Numeric priority
- * @throws Zend_Log_InvalidArgumentException
+ * @throws Zend_Log_Exception
*/
public function addPriority($name, $priority)
{
@@ -410,12 +467,13 @@
* Before a message will be received by any of the writers, it
* must be accepted by all filters added with this method.
*
- * @param int|Zend_Log_Filter_Interface $filter
- * @return void
+ * @param int|Zend_Config|array|Zend_Log_Filter_Interface $filter
+ * @return Zend_Log
+ * @throws Zend_Log_Exception
*/
public function addFilter($filter)
{
- if (is_integer($filter)) {
+ if (is_int($filter)) {
/** @see Zend_Log_Filter_Priority */
require_once 'Zend/Log/Filter/Priority.php';
$filter = new Zend_Log_Filter_Priority($filter);
@@ -438,7 +496,7 @@
* message and writing it out to storage.
*
* @param mixed $writer Zend_Log_Writer_Abstract or Config array
- * @return void
+ * @return Zend_Log
*/
public function addWriter($writer)
{
@@ -462,9 +520,9 @@
/**
* Set an extra item to pass to the log writers.
*
- * @param $name Name of the field
- * @param $value Value of the field
- * @return void
+ * @param string $name Name of the field
+ * @param string $value Value of the field
+ * @return Zend_Log
*/
public function setEventItem($name, $value)
{
@@ -491,7 +549,7 @@
{
// Only register once. Avoids loop issues if it gets registered twice.
if ($this->_registeredErrorHandler) {
- return $this;
+ return $this;
}
$this->_origErrorHandler = set_error_handler(array($this, 'errorHandler'));
@@ -537,7 +595,7 @@
{
$errorLevel = error_reporting();
- if ($errorLevel && $errno) {
+ if ($errorLevel & $errno) {
if (isset($this->_errorHandlerMap[$errno])) {
$priority = $this->_errorHandlerMap[$errno];
} else {