Example #1
0
 /**
  * @param IfwPsn_Wp_Plugin_Manager $pm
  * @param \IfwPsn_Vendor_Zend_Log_FactoryInterface|\IfwPsn_Vendor_Zend_Log_FactoryInterface $writer
  * @param null $name Loggername
  * @return IfwPsn_Wp_Plugin_Logger
  */
 public static function create(IfwPsn_Wp_Plugin_Manager $pm, IfwPsn_Vendor_Zend_Log_FactoryInterface $writer, $name = null)
 {
     if ($name === null) {
         $name = self::$_defaultName;
     }
     if (!isset(self::$_instances[$pm->getAbbr()][$name])) {
         // create logger
         $logger = new self($writer);
         $logger->setPluginManager($pm);
         $logger->setInternalName($name);
         self::$_instances[$pm->getAbbr()][$name] = $logger;
     } else {
         $logger = self::$_instances[$pm->getAbbr()][$name];
         if (!$logger->hasWriter($writer)) {
             $logger->addWriter($writer);
         }
     }
     switch (get_class($writer)) {
         case 'IfwPsn_Zend_Log_Writer_WpDb':
             $logger->setTimestampFormat('Y-m-d H:i:s');
             break;
     }
     return $logger;
 }